使用谓词在Core Data中获取父项的所有子项

时间:2017-08-29 08:03:28

标签: ios core-data relationships

我在Core Data中有Person - Children的数据模型关系。 例如,一个人可以生孩子,他的孩子可以生孩子,所以孩子的孩子可以生孩子等等。

我如何使用谓词来获取所有孩子,大孩子和大孩子?

1 个答案:

答案 0 :(得分:0)

如果您有一个Person对象thePerson,那么要获取他们的孩子,您将使用以下谓词:

NSPredicate(format:"parent == %@", thePerson)

要取孙辈,请使用:

NSPredicate(format:"parent.parent == %@", thePerson)

并为他们的曾孙使用:

NSPredicate(format:"parent.parent.parent == %@", thePerson)

将它们结合在一起:

NSPredicate(format:"parent == %@ OR parent.parent == %@ OR parent.parent.parent == %@", thePerson, thePerson, thePerson)