我有一个 ios 5 应用程序,它不创建任何数据 - 它只是对 REST Web 服务进行 GET 调用,并用这些记录填充 sqlite 数据库。当本地数据库中没有记录时,初始 GET 效果很好。但是,当我进行后续调用时,我只会返回自上次 GET 以来数据已更改的记录子集。但是正在发生的事情是记录只是被再次添加,而不是更新现有记录。
我有一个 ID 字段,它是主键(或应该是主键),当一个 ID 已经存在的记录进入时,我希望更新该数据。如果该 ID 不存在,它应该是一个插入。
我没有看到在 XCode 的数据模型中将我的 ID 字段设置为“主键”的方法。我尝试在我的 didFinishLaunchingWIthOptions 方法中这样做:
userMapping.primaryKeyAttribute = @"id";
但这似乎并没有真正起到任何作用。
这是我实际执行 GET 的调用:
// Load the object model via RestKit
[objectManager loadObjectsAtResourcePath:[@"/synchContacts" appendQueryParams:params] delegate:self];
这似乎可以自动完成所有操作。在这一点上,我不知道应该在哪里放置逻辑以检查 ID 是否存在,如果存在,则进行更新与插入,或者什么。