RestKit 加载对象
Posted
技术标签:
【中文标题】RestKit 加载对象【英文标题】:RestKit loadObjects 【发布时间】: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 中,将request
、updateRevision
加载到NSDictionary 中
所以在
loader.onDidLoadObjects = ^(NSArray *objects)
第一个对象是 Dictionary,后一个是 CoreData
【问题讨论】:
【参考方案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)
;
];
];
【讨论】:
以上是关于RestKit 加载对象的主要内容,如果未能解决你的问题,请参考以下文章
RestKit 到 Core Data 的映射和加载零对象。 RKManagedObjectLoader