1

最新の SDK を使用して iOS 5.0 以降のアプリケーションを開発しています。

NSDictionaryこのコードを使用して取得します:

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

このディクショナリには、クラス プロパティがキーとして、各プロパティ値が値として含まれています。

私はジェネリックメソッドを開発しようとしています:

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

このメソッドは、パラメーターを使用して var をインスタンス化します (ちなみに、クラス名classNameを使用して を使用してインスタンス オブジェクトを作成できますか?)。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 に答える