1

我的 HTTPClient 是一个 AFRESTClient 子类,我将 AFIncrementalStore 用于核心数据。

我的回答是实体的唯一标识符为“content_id”。我已经覆盖

resourceIdentifierForRepresentation:(NSDictionary *)representation
ofEntity:(NSEntityDescription *)entity
fromResponse:(NSHTTPURLResponse *)response

在我的 httpclient 中并为我的实体返回了“content_id”,但是,我的 fetch 只得到一个项目(数组中的最后一个项目)。

但是,如果我的响应有“id”参数,它就可以正常工作。

我们是否应该无法为休息客户端覆盖 resourceIdentifier 或者我错过了什么?

4

1 回答 1

0

我终于想通了

我正在为 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

感谢马特汤普森在这里澄清 - (见马特的评论)https://github.com/AFNetworking/AFIncrementalStore/issues/211

于 2013-06-18T21:46:40.057 回答