如何避免核心数据中的重复记录 - ios

时间:2017-05-29 08:20:28

标签: ios swift core-data

我是iOS的新手,Swift。我的应用程序有一个名为“Category”的实体与许多名为“Movies”的实体有关系。

根据我从网址获取的数据,“电影”实体正在发生变化。我正在寻找一种不在每个类别中都有重复电影记录的方法,我想不出一个简单的方法。

1 个答案:

答案 0 :(得分:0)

核心数据没有内置的方法来确保唯一性。你必须自己管理。但这并不难。在每次插入/更新之前执行获取 - 如果它不存在则创建它,如果已经存在则更新它。如果您一次更新许多(例如,来自具有许多实体更新的网络请求),则在单个提取请求中获取所有提取,然后根据需要创建或更新。

通常,这些提取是使用每个实体的uniqueIds完成的。如果您的实体没有任何uniqueId,那么您遇到的问题比核心数据更深。您可以拥有两部同名电影或一部电影名称不同的电影。如果您没有任何相同的内容,那么您从根本上无法知道是否需要创建另一个实体或更新现有实体。您可以使用电影名称,但我不建议这样做。我建议您仔细查看服务器api,看看是否有一个uniqueId服务,如果没有,那么你必须由服务器团队修复它。