我是 iOS、Swift 新手。我的应用程序有一个名为“类别”的实体,与许多名为“电影”的实体存在关系。
根据我从网址获取的数据,“电影”实体正在发生变化。我正在寻找一种不在每个类别中都有重复电影记录的方法,但我想不出一种简单的方法来做到这一点。
最佳答案
核心数据没有内置的方法来确保唯一性。你必须自己管理。但这并不难。在每次插入/更新之前执行一次获取 - 如果不存在则创建它,如果已存在则更新它。如果您一次更新多个实体(例如,从具有多个实体更新的网络请求),则在单个提取请求中提取所有内容,然后根据需要创建或更新。
通常,这些获取是使用每个实体的 uniqueId 来完成的。如果您的实体没有任何 uniqueId,那么您将遇到比核心数据更深层次的问题。您可以拥有两部同名的电影,也可以拥有一部不同名称的电影。如果您没有任何相同的内容,那么您从根本上没有任何方法知道是否需要创建另一个实体或更新现有实体。您可以使用电影名称,但我不建议这样做。我建议您仔细查看您的服务器 api,看看是否有提供的 uniqueId,如果没有,则必须由服务器团队修复它。
关于ios - 如何避免核心数据中的重复记录 - ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44237743/