0

iamはrestKitを使用して、サーバーとの間でデータを送受信します...iamが戻ってきます

{
    "request":"globalUpdate",
    "updateRevision":2,
    "updatedObjects":{
        "users":[
            {
                id:"someid1",
                name:"somename"
            },
            {
                id:"someid2",
                name:"somename2",
            }
        ]
    }
}

使いたい

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:nil usingBlock:^(RKObjectLoader * loader){)];

内部のオブジェクトのみupdatedObjectsをCoreDataにロードしrequestupdateRevisionNSDictionaryにロードします

だからで

loader.onDidLoadObjects = ^(NSArray *objects) {    

}

最初のオブジェクトはDictionaryで、後のオブジェクトはCoreDataです。

4

1 に答える 1

0

さて、これはあなたがコアデータにどのオブジェクトを使用し、あなた自身の目的のためにどのオブジェクトを使用するかはあなたの選択の問題です。RKObjectLoaderは、独自の使用に使用できる応答への参照を持つonDidLoadResponseブロックも提供します。

[myobjectManager loadObjectsAtResourcePath:resourcePath usingBlock:^(RKObjectLoader *loader) {
        loader.mappingProvider = [RKObjectMappingProvider mappingProviderUsingBlock:^(RKObjectMappingProvider *provider) {
            [provider setObjectMapping:[MyClass mapping] forKeyPath:@"updatedObjects"];
            loader.onDidLoadObjects = ^(NSArray *objects){

            };
            loader.onDidLoadResponse = ^(RKResponse *response){
               // NSData * data  = [response data];
                id object = [response parsedBody:nil];
               // now parse the data yourself which will give you
               // the entire json in NSData for and parse it,
               // extract the component you need
            };
            loader.onDidFailWithError = ^(NSError *error){

            };
        }];
    }];
于 2012-11-21T22:57:24.230 に答える