我试图了解RestKit如何获取对象。据我所知,当我打电话时,
[[RKObjectManager sharedManager] getObjectsAtPath:@"/mypath/objects" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
// Use objects that are returned.
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
// Handle error
}];
Restkit将尝试从Web服务加载指定路径的对象,并在检索到对象后调用成功块。它还将在调用成功块之前使用我提供的映射更新核心数据对象图。如果我只想要核心数据中的对象怎么办?我如何访问这些对象?我是否应该使用sharedManager的managedObjectStore的mainQueueManagedObjectContext直接在其上执行NSFetchRequests,如果我希望更新Core Data持久性存储,则只调用getObjectsAtPath:parameters:success:failure:
?
答案 0 :(得分:2)
据我了解
是的,基本上。 RestKit将从指定路径的服务器获取数据,对其进行反序列化,并根据映射和响应代码/描述符将其映射到对象中。如果您已指定使用Core Data,那么它将在调用成功块之前保存结果。
如果我只想要核心数据中的对象
,该怎么办?
然后您不使用RestKit,只需访问mainQueueManagedObjectContext
,通常使用NSFetchedResultsController
。