所以我有一个奇怪的问题,我不确定这里发生了什么。当应用程序第一次加载时,它会请求对象并很好地映射它们。在重新加载或再次启动应用程序时,RestKit 似乎只在应用程序加载时返回原始映射对象,如果我删除应用程序并再次构建所有原始对象并返回任何新对象。
我通过在初始应用程序加载后添加新对象来测试 curl。所以假设当我用 5 个对象加载应用程序时,我再添加 2 个对同一服务的 curl 调用将是正确的,返回 7 个对象,而 Restkit 在应用程序中仍然只返回 5 个。
目前我正在使用这种方法,这可能与我的托管上下文有关吗?任何帮助都会很有用。
RKManagedObjectRequestOperation *operation = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request
managedObjectContext:[RKObjectManager sharedManager].managedObjectStore.mainQueueManagedObjectContext
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
// Create dictionary to pass as userinfo with returned object
NSDictionary *userInfo = [[NSDictionary alloc] initWithObjects:@[mappingResult] forKeys:@[ OBJECT_FROM_SERVER ]];
[[NSNotificationCenter defaultCenter] postNotificationName:notificationName object:nil userInfo:userInfo];
}
failure:^(RKObjectRequestOperation *operation, NSError *error) {
}];
编辑:我还应该添加服务器日志确认 Restkit 在初始应用程序加载后没有访问服务器,但它正在调用相同的方法来获取结果。
Edit2:好的,所以我注意到一些非常奇怪的事情,不确定这是否是预期的行为。正如我在第一次联系我的 web 服务后所述,RestKit 甚至不会打扰 web 服务,而是使用引用的方法从核心数据中提取数据。使用任何 getObjects 方法实际上每次都会联系服务器?这是预期的行为吗?除非我错过了什么,否则文档肯定不会反映这一点。
Server: Apache-Coyote/1.1
Cache-Control: public, max-age=86400
Content-Type: application/json
Content-Length: 1629
Date: Sun, 20 Oct 2013 22:43:20 GMT