有没有办法创建字典或json响应的模型类(包装器)?因为在我的应用程序中有许多web服务,所有WS都包含大数据。如果我一直在创建,那么创建NSObject类需要花费很多时间来检查Null数据和Encode-Decode对象。或者请建议我手动创建所有NSObject是正确的方法吗?我不想解析直接字典。 感谢。
答案 0 :(得分:3)
最后,我为 iOS和Android 提供了非常简单快速的模型类生成器工具。只需复制并粘贴您的答案并从工具中获取Model Class。
使用此类>>>
例如,您的JSON Respoce词典是
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
制作Employee Array,然后使用下面的代码创建具有Created Model Classes的Object,你必须使用For loop
或enumerateObjectsUsingBlock
任何一个用于create,然后使用Add in Mutable Array。
NSArray * arrTemp = [NSArray arrayWithArray:yourResponceDict [@" employees"]]; NSMutableArray * myMutableArray = [NSMutableArray array];
[arrTemp enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
Employee *aObj = [Employee modelObjectWithDictionary:obj];
[myMutableArray addObject:aObj];
}];
此工具非常简单,可以节省时间,用于创建Json对象类,以便在开发中的任何位置解析数据。
答案 1 :(得分:2)
为此,您可以使用BaseModel,ObjectMapper或EVReflection开源项目等模块。它们都是您可以在项目中使用的开源模块。
答案 2 :(得分:0)
你看过NSKeyValueCoding
了吗?它有几种你可能会觉得有用的方法,包括下面的方法,可以根据对象的字典表示设置对象的所有值。
[object setValuesForKeysWithDictionary:dictionary];
假设您能够以某种方式从字典表示中确定对象的类,您可以使用它;此外,您可以使用dictionaryWithValuesForKeys: