1

我正在使用最新的 SDK 开发 iOS 5.0 及更高版本的应用程序。

我得到一个NSDictionary使用这个代码:

id jsonObject = [NSJSONSerialization
JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];

该字典将类属性作为键,将每个属性值作为值。

我正在尝试开发一种通用方法:

+ (id)FromJSON:(NSDictionary*)jsonDic toClass:(NSString*)className;

此方法将使用参数实例化 var (顺便说一下,我可以使用带有类名className的 a 创建实例对象吗?)。NSString

但我的问题是我能知道每个jsonDic值的类型。我可以获取每个属性名称并尝试访问它的类型(NSString、、NSNumber等)。

关于如何做的任何建议?

4

1 回答 1

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;
}

任何意见?

于 2013-09-16T09:20:05.500 回答