我正在使用RestKit,并尝试使用以下命令从本地数据存储中检索对象:
NSFetchRequest *fetchRequest = [[[RKObjectManager sharedManager] mappingProvider] fetchRequestForResourcePath:deviceResourceURI];
不幸的是,这会为nil
返回fetchRequest
。
我的deviceResourceURI
是/api/v1/devices/1
。我已经定义了
[router routeClass:[MSZDevice class] toResourcePath:@"/api/v1/devices/:identifier/"];
on [RKObjectManager sharedManager].router
。
我相信我的所有其他Core Data配置都在运行。我忘记了什么?
更新
我在看RestKit - fetchFromDataStore (cache) issue,看看是不是我的问题。
更新
是的 - 同样的问题。我只是不知道如何形成fetchRequestBlock
的{{1}}部分。我被发送到this method的setObjectMapping:forResourcePathPattern:withFetchRequestBlock:
路径。
答案 0 :(得分:0)
答案:
将RKObjectMappingProvider
配置为:
[objectMappingProvider setObjectMapping:deviceMapping forResourcePathPattern:@"/api/v1/devices/:identifier/" withFetchRequestBlock:^NSFetchRequest*(NSString *resourcePath){
return [MSZDevice fetchRequest];
}];
回想起来如此简单。很简单,我认为这将是默认的,内省的返回值。