使用Restkit保存到我的数据库时,我会收到重复的条目。
我不确定如何防止这种情况。预期的行为是,如果对象已经存在,那么它应该用恰好不同的列更新现有对象。
我在这里设置了一个密钥标识符:
[mapping setIdentificationAttributes:@[MYObjectAttributes.userID]];
但我想我还应该做些什么。我已经看到其他与核心数据更相关的问题,这些核心数据手动执行获取请求以查找现有条目,在编写之前,这看起来很昂贵,而restkit应该已经为此提供了解决方案。
答案 0 :(得分:1)
RestKit用于将RESTful服务映射到核心数据。如果您没有使用RKObjectManager进行更新(也就是说,您希望在REST服务上添加某些内容)并且只想进行本地更改,则应该获取托管对象并在RestKit的上下文之外使用它。
如果需要检查托管对象是否存在于本地,则应该使用托管对象上下文,而不是尝试使用RestKit。
答案 1 :(得分:1)
除了属性,您还可以检测托管对象是否为新对象。 RestKit在NSManagedObject上创建了一个类别,它提供了1个函数:
/**
* Returns YES when an object has not been saved to the managed object context yet
*/
@property (nonatomic, readonly) BOOL isNew;