我在我的应用程序之上运行一个REST服务,它将数据返回到我的iPad应用程序。此应用程序使用RestKit构建,以同步数据进出iPad。然而,我也运行了一个webapp,它允许用户删除一些数据。
我现在遇到的当前问题是,每当用户登录iPad应用程序时,我都会运行查询以获取自上次登录以来last_modified / added的数据。这允许我有更快/更短的查询。唯一的问题是,如果例如在最后两次登录之间从数据库中删除了一个对象,用户仍会在他的iPad中看到它。
我应该采取什么策略来删除核心数据中的这些数据?我应该不从我的数据库中删除对象并改为使用BOOL来表示“已删除”,并且每当我通过REST获取last_modified数据时,此项目都会出现,我只会将其过滤掉在iPad?
我知道RestKit有办法删除孤儿对象,但由于我正在同步“last_modified”数据,我不认为它可以在这里应用。
答案 0 :(得分:0)
正如Wain建议的那样,我将在数据库中有一个已删除对象的列表,其中包含“deleted_date”字段。每当我要获取最新的对象时,我也会再次获取最新删除的对象。
答案 1 :(得分:0)
来自您的评论问题:
我创建了一个需要从CoreData中删除的对象列表。因此,对于我的示例,我返回一个IDS数组,该数组对应于我需要在CoreData中删除的用户。如何使用RestKit进行此类映射?!
您应该创建到NSMutableArray
的映射。如果您的源数据是字符串的JSON数组,那么您将需要使用nil
键路径映射,以便将提取的字符串提取到目标数组中。请参阅this link。