检查属性是否存在

问题描述:

是否有更好的方法,而不是使用谓词获取并查看结果的数量,以便在将其添加到托管上下文中时检查该属性是否存在?我试图给一个给定的实体唯一的属性...检查属性是否存在

+0

我觉得这个问题以前已经被问过好几次了:http://stackoverflow.com/search?q=[core-data]+unique 不幸的是,这个问题没有“好”的解决方案。 – 2010-08-02 11:17:04

我想你可能已经炒了你的命名。您不要将属性添加到上下文。您添加由具有属性的实体定​​义的托管对象。你可能会问两种不同类型的测试。

如果您问是否存在一种测试方法,如果托管对象已经存在,并且您计划插入的属性完全相同,则答案为否。由于实体可以是任意复杂的,并且由于它们在逻辑上只有一点不同,所以没有办法测试两个对象是否在逻辑上相同,即具有相同的属性和关系,而不用提取和测试它们。

如果您问是否可以测试特定实体属性的唯一值,那么您可以。首先你使用[NSFetchRequest setProperty:]来获取一个物业,然后设置你的预期价值。在步行关系时,可以使用Set and Array Operators查找具有唯一值的受管对象。