Ios RestKit托管对象未更新的问题

Ios RestKit托管对象未更新的问题,ios,restkit,restkit-0.20,Ios,Restkit,Restkit 0.20,所以我有一个奇怪的问题,我不知道这里发生了什么。当应用程序第一次加载时,它会请求对象,并将它们映射得恰到好处。重新加载或启动应用程序时,如果我删除应用程序并重新生成所有原始对象和任何新对象,RestKit似乎仅在应用程序加载时返回原始映射对象 我使用curl进行了测试,在初始应用加载后添加了新对象。因此,如果我在应用程序中加载了5个对象,那么我再添加2个,使用curl调用同一服务将正确,返回7个对象,而Restkit在应用程序中仍然只返回5个 目前我正在使用这种方法,这可能与我的托管上下文有关吗

所以我有一个奇怪的问题,我不知道这里发生了什么。当应用程序第一次加载时,它会请求对象,并将它们映射得恰到好处。重新加载或启动应用程序时,如果我删除应用程序并重新生成所有原始对象和任何新对象,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:好吧,我注意到了一些非常奇怪的事情,不确定这是否是预期的行为。正如我在第一次接触webservice RestKit之后所说的,我甚至不关心webservice,而是使用引用的方法从核心数据中提取数据。使用任何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

服务器返回一个缓存头:

Cache-Control: public, max-age=86400
这意味着URL加载系统在1天内不会再次针对同一请求访问服务器。相反,将使用缓存的值。这是URL加载系统中的缓存,而不是RestKit中的缓存


如果要在每次发出请求时命中服务器,请更改服务器的缓存响应或将URL加载系统设置为忽略缓存。

服务器是否返回任何缓存头?您是否在调用之间更改请求/响应描述符?不,Restkit甚至没有使用该方法联系服务器。看一下我的编辑。如果它调用服务器一次,那么将返回标题,它们是什么?将其添加到原始问题中,因为这样更易于阅读。我怀疑在您询问标题时可能存在此问题。我记得为另一个测试缓存的调用设置了它,但显然从未删除它。我想getObjects正在绕过缓存。