我有一个名为“人”的实体。它有一个属性“id”,默认值为0.我在“Person”中设置了一个约束,只有唯一的ID。我正在从服务器加载一个人员列表,并使用核心数据在本地存储它们。 Person ID应该是唯一的,但是当我在本地创建多个人时,如果它具有默认值0,我希望忽略id的唯一性。
我只想让唯一性约束适用于每个不同于0的id,我该怎么做?
感谢,
答案 0 :(得分:2)
核心数据的唯一性限制只是 - 它们需要唯一性,没有例外。除了可以复制的一个值之外,你想要的东西是唯一的#34; Core Data并不直接支持。你必须以某种方式在自己的代码中维护它。这可能意味着实现您自己的更新或插入逻辑以检查ID是否存在。那就像是,
答案 1 :(得分:0)
在添加到核心数据的约束之前,确保唯一性的唯一方法是进行提取,然后如果没有结果则创建对象。这并不难。在代码中强制使用唯一性并使用您需要的任何自定义逻辑。尝试组织代码,以便只有一种或两种方法来创建一个人,这样逻辑就更容易处理。