是否有更好的方法而不是使用谓词获取并查看结果的数量,以便在将其添加到托管上下文时检查该属性是否存在?我正在尝试为给定的实体创建一个唯一的属性...
答案 0 :(得分:1)
我想你可能已经扰乱了你的命名法。您不向上下文添加属性。您添加由具有属性的实体定义的托管对象。您可能会询问两种不同类型的测试。
如果您正在询问是否存在测试是否已存在托管对象与您计划插入的属性完全相同的属性,则答案为否。由于实体可以是任意复杂的,并且因为它只需要一点点不同就可以使它们在逻辑上不同,所以没有办法测试两个对象在逻辑上是否相同,即具有相同的属性和关系,而无需获取它们并测试它们。
如果您询问是否可以测试特定实体的属性的唯一值,那么您可以。首先,使用[NSFetchRequest setProperty:]
获取属性,然后设置为所需值的谓词。在行走关系时,您可以使用Set and Array Operators查找具有唯一值的托管对象。