【问题标题】:RestKit loadObjectsRestKit 加载对象
【发布时间】:2012-11-21 12:20:19
【问题描述】:

我正在使用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

【问题讨论】:

    标签: iphone objective-c cocoa restkit


    【解决方案1】:

    这取决于您选择将哪个对象用于核心数据以及哪个对象用于您自己的目的。 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){
    
                };
            }];
        }];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      相关资源
      最近更新 更多