我的HTTPClient是一个AFRESTClient子类,我正在使用AFIncrementalStore的核心数据。
我的响应是有一个唯一的标识符为"content_id"的实体。我已经覆盖了
resourceIdentifierForRepresentation:(NSDictionary *)representation
ofEntity:(NSEntityDescription *)entity
fromResponse:(NSHTTPURLResponse *)response
在我的httpclient和返回"content_id"为我的实体,然而,我的fetch只得到一个项目(在数组中的最后一项)。
然而,如果我的响应有"id"参数,它工作得很好。
我们应该不能覆盖resourceIdentifier为一个休息的客户端还是我错过了什么?
我终于想通了
我正在为resourceIdentifier返回一个常量字符串值,在这里我应该返回字符串化的唯一值。
现在我返回唯一值的描述,工作正常
- (NSString *)resourceIdentifierForRepresentation:(NSDictionary *)representation
ofEntity:(NSEntityDescription *)entity
fromResponse:(NSHTTPURLResponse *)response
{
NSString *resourceIdentifier = [super resourceIdentifierForRepresentation:representation ofEntity:entity fromResponse:response];
if([entity.name isEqualToString:@"MyEntity"])
{
resourceIdentifier = [[representation objectForKey:CONTENT_ID] description];
}
return resourceIdentifier;
}
先前我返回resourceIdentifier = CONTENT_ID
感谢Matt Thompson的澄清-(见Matt的评论)https://github.com/AFNetworking/AFIncrementalStore/issues/211