繁体   English   中英

核心数据唯一性约束,但默认值除外

[英]Core Data Unique constraint except for the default value

我有一个名为“人”的实体。 它具有属性“ id”,默认值为0。我在“人”中设置了一个约束,使其仅具有唯一的ID。 我正在从服务器加载人员列表,并使用核心数据将其存储在本地。 人员ID应该是唯一的,但是当我在本地创建多个人员时,如果ID的默认值为0,我希望忽略ID的唯一性。

我只希望唯一性约束对每个不同于0的id起作用,我该怎么做?

谢谢,

Core Data的唯一性约束就是-它们要求唯一性,没有例外。 Core Data不直接支持您想要“唯一的,除了可以重复的值”的情况。 您必须以某种方式在自己的代码中维护它。 这可能意味着实现您自己的更新或插入逻辑以检查ID是否存在。 那就像

  1. 使用特定ID进行抓取。
  2. 如果找到对象,请对其进行更新。
  3. 如果找不到对象,请创建一个新对象。

在约束添加到核心数据之前,确保唯一性的唯一方法是进行提取,然后如果没有结果,则创建对象。 这并不困难。 在代码中强制唯一性,并使用所需的任何自定义逻辑。 尝试对代码进行组织,以便只有一种或两种方法可以创建人员,因此逻辑更易于处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM