我正在使用最新的SDK开发iOS 5.0及更高版本的应用程序。
我使用此代码获得NSDictionary
:
id jsonObject = [NSJSONSerialization
JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
此字典具有类属性作为键,每个属性值作为值。
我正在尝试开发通用方法:
+ (id)FromJSON:(NSDictionary*)jsonDic toClass:(NSString*)className;
此方法将使用className
参数实例化一个var(顺便说一下,我可以使用NSString
及其类名来创建实例对象吗?)。
但我的问题是我可以知道每个jsonDic
值的类型。我可以获取每个属性名称并尝试访问其类型(NSString
,NSNumber
等)。
有关如何操作的建议吗?
答案 0 :(得分:0)
我用这种方式解决了我的问题:
+ (id)FromJSON:(NSDictionary*)jsonDic toClass:(NSString*)className
{
Class ObjectClass = NSClassFromString(className);
if (ObjectClass == nil)
return nil;
NSObject* loadedObject = [[ObjectClass alloc] init];
[loadedObject setValuesForKeysWithDictionary:jsonDic];
return loadedObject;
}
有任何评论吗?