多个对象没有得到保存的核心数据restkit

Posted

技术标签:

【中文标题】多个对象没有得到保存的核心数据restkit【英文标题】:Multiple objects are not getting saved cored data restkit 【发布时间】:2014-12-17 07:11:46 【问题描述】:

我正在使用 Restkit Coredata 在服务器上保存 4 个不同的令牌。 使用响应描述符。

RKResponseDescriptor *tokenDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:instagramToken method:RKRequestMethodGET pathPattern:@"register/token" keyPath:@"data" statusCodes:statusCodes];

// 我这样称呼它。

 [[RKObjectManager sharedManager] getObjectsAtPath:@"register/token" parameters:params success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) 


     failure:^(RKObjectRequestOperation *operation, NSError *error) 

    ];

它存储得很好,我也可以在 coredata 中访问它。但问题是, 如果我在服务器上保存 1 个令牌并映射响应,那么这一切都很好。但是,当我在服务器上保存其他令牌时,新响应会映射到 coredata 并覆盖旧响应。 我想将所有响应保留在 coredata 中。

请帮忙。

【问题讨论】:

【参考方案1】:

服务器需要为每个令牌返回一个唯一身份,以便您知道哪个是哪个。您需要模型中的属性来存储它,并且需要将其添加到映射中并将其设置为映射标识属性。最后,您需要将您的 RK 托管对象存储与对象缓存连接起来,以便它可以搜索要更新的重复项(而不是总是创建新实例)。

【讨论】:

我已经在做这个 entityMapping.identificationAttributes = @[@"platform"]; 所以显示所有这些细节并在问题中讨论。你有商店的缓存设置吗?

以上是关于多个对象没有得到保存的核心数据restkit的主要内容,如果未能解决你的问题,请参考以下文章

为一个对象快速保存多个核心数据关系

iPhone - 应用程序启动时保存核心数据会导致多个相同的对象

传递核心数据对象而不保存

核心数据保存和加载到多个实体

核心数据:同一个对象的多个关系

核心数据对象仍然保存在presentationMode SwiftUI中的dismiss/cancel