0

我在我的应用程序之上运行了一个 REST 服务,它将数据返回到我的 iPad 应用程序。这个应用程序是使用 RestKit 构建的,用于在 iPad 内外同步数据。然而,我也有一个 webapp 正在运行,它允许用户删除一些数据。

我现在遇到的当前问题是,每当用户登录 iPad 应用程序时,我都会运行查询以获取自上次登录以来最后修改/添加的数据。这使我可以进行更快/更短的查询。唯一的问题是,例如,如果在他最近两次登录之间从数据库中删除了一个对象,用户仍然会在他的 iPad 中看到它。

我应该采用什么策略来删除 Core Data 中的这些数据?我是否应该从我的数据库中删除对象,而是使用一个 BOOL 表示“已删除”或没有,并且每当我通过 REST 获得 last_modified 数据时,该项目就会出现,我将在 iPad 中将其过滤掉?

我知道 RestKit 有一种删除孤立对象的方法,但由于我正在同步“last_modified”数据,我认为它不能在这里应用。

4

2 回答 2

0

正如 Wain 所建议的,我将在数据库中有一个已删除对象的列表,其中包含“deleted_date”字段。每当我获取最新的对象时,我也会取回最新删除的对象。

于 2013-09-05T12:35:31.147 回答
0

从您的评论问题:

我创建了一个需要从 CoreData 中删除的对象列表。因此,例如,我返回一个 IDS 数组,该数组对应于我需要在 CoreData 中删除的用户。我怎样才能用 RestKit 做这样的映射?!

您应该创建一个到NSMutableArray. 如果您的源数据是字符串的 JSON 数组,那么您将需要使用nil键路径映射来将字符串提取到目标数组中。请参阅此链接

于 2013-09-11T15:00:44.710 回答