Runtime 字模轉換

2021-07-27 09:00:07 字數 1423 閱讀 4320

//

// nsobject+basemodel.h

// runtime-字模轉換

////

#import @inte***ce nsobject (basemodel)

+ (instancetype)modelwithdic:(nsdictionary *)dic;

+ (nsdictionary *)arraycontainmodelclass;

@end

//

// nsobject+basemodel.m

// runtime-字模轉換

////

#import "nsobject+basemodel.h"

#import @implementation nsobject (basemodel)

+ (instancetype)modelwithdic:(nsdictionary *)dic

}// **轉換:字典當中還有陣列,把陣列中的字典轉換成模型

// 判斷是否是陣列

if([value iskindofclass:[nsarray class]])

value = modelarr;}}

}// 設定屬性的值有兩種方式

// 方式1

if(value)

// 方式2

// if (value)

}return objc;

}@end

//

// viewcontroller.m

// runtime-字模轉換

////

#import "viewcontroller.h"

#import "nsobject+basemodel.h"

#import "testmodel.h"

@inte***ce viewcontroller ()

@end

@implementation viewcontroller

- (void)viewdidload ,

@"modelarr":@[@,

@]};

testmodel *model = [testmodel modelwithdic:dic];

nslog(@"%@ + %@",model.age,model.name);

nslog(@"%@ + %@",model.dic.age,model.dic.name);

for (nsuinteger i=0,n = model.modelarr.count; i < n; i ++)

}- (void)didreceivememorywarning

@end

demo已上傳github 

字模生成原理

漢字的點陣字模是從點陣字型檔檔案中提取出來的。例如常用的 16 16 點陣hzk16 檔案,12 12 點陣hzk12 檔案等等,這些檔案包括了 gb 2312 字符集中的所有漢字。現在只要弄清漢字點陣在字型檔檔案中的格式,就可以按照自己的意願去顯示漢字了。下面以hzk16 檔案為例,分析取得漢字點...

套接字模型

套接字i o模型 1 select模型 select模型是一種常見的模型,通過select函式來確定套接字狀態。在網路應用程式中,通過乙個執行緒來設計乙個迴圈,不停的呼叫select函式,判斷套接字上是否存在資料或者是否能夠向套接字寫入資料等 int select int nfds,fd set f...

套接字模型

套接字i o模型 1 select模型 select模型是一種常見的模型,通過select函式來確定套接字狀態。在網路應用程式中,通過乙個執行緒來設計乙個迴圈,不停的呼叫select函式,判斷套接字上是否存在資料或者是否能夠向套接字寫入資料等 int select int nfds,fd set f...