我開發(fā)特別懶....總想著法子減少工作量,有空沒空都會(huì)搜下git上各大神的神作,會(huì)發(fā)現(xiàn)有些東西 自己拿過(guò)來(lái)改一改,真心意想不到的效果
現(xiàn)在各種orm工具,json轉(zhuǎn)換為model類, 但是前提必須還是得自己創(chuàng)建類,一個(gè)一個(gè)按照后臺(tái)文檔字段寫入,重復(fù)且低效
有沒有辦法 讓代碼按照 后臺(tái)給的數(shù)據(jù)幫我們創(chuàng)建好對(duì)應(yīng)的model文件?
請(qǐng)看下去
-
yy大神demo里的新浪微博的json,相當(dāng)復(fù)雜的json,一共580行.
2.生成代碼
NSString *path = [[NSBundle mainBundle] pathForResource:@"weibo" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:path];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
[CreateModel createModelWithJsonData:json rootModelName:@"testModel"];
3.生成的model類預(yù)覽
4.最終的文件
注:
1.最后一張的某些文件看上去亂碼,其實(shí)是json命名就是這樣的,不信看圖
2.api只支持傳入字典,如果服務(wù)器返回?cái)?shù)據(jù) 跟級(jí)是數(shù)組的話,建議包一層key封裝成dic 然后調(diào)用
3.關(guān)于文件生成的路徑(特別注意)
在NodeModelStrings這個(gè)類中,隨意修改(用戶名請(qǐng)改成自己的,我改成了桌面上的一個(gè)自定義的文件夾,比較方便)
- (NSString *)filePathWithFileName:(NSString *)name {
return [NSString stringWithFormat:@"/Users/ColeXm/Desktop/ModelFile/%@",name];
}