AFIncrementalStore with AFRestClient > 在我的 AFRestClient 子类中覆盖资源标识符对我不起作用



我的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

相关内容

  • 没有找到相关文章

最新更新