RestKit loadObjects

时间:2012-11-21 12:20:20

标签: iphone objective-c cocoa restkit

我使用restKit,从服务器发送和接收数据......我回来了

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

我想使用

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

仅将updatedObjects内的对象加载到CoreData中,将requestupdateRevision加载到NSDictionary中

所以在

loader.onDidLoadObjects = ^(NSArray *objects) {    

}

第一个对象是Dictionary,后一个是CoreData

1 个答案:

答案 0 :(得分:0)

这就是你选择哪个对象用于coredata以及出于自己的目的。 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){

            };
        }];
    }];