2017-08-29 46 views
3

我有核心数据中Person - Children的数据模型关系。 例如,一个人可以让孩子和他的孩子可以生孩子,所以他的孩子的孩子可以生孩子等等。使用谓词获取核心数据中父母的所有子女

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

+0

孩子可以只有一个父母,还是多个孩子? – pbasdf

+0

孩子只能有1个家长。 –

+0

并且是'Child'和'Person'不同的实体吗?或者'孩子'是从“人”到“人”的反身关系? – pbasdf

回答

0

如果你有一个Person对象,thePerson,然后获取他们的孩子,你可以使用下面的谓词:

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

为了获取自己的孙子,用途:

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

,并为他们的伟大-grandchildren,使用:

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

将这些结合在一起:

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

谢谢你的答案。如果我在我的问题中使用了“固定”的例子,请原谅我。但是如果我不知道让最外面的孩子达到什么水平的话。 –

+0

我担心你可能会想要那样。我想你可能需要改变你的模型 - 但我不得不考虑如何最好地改变它。 – pbasdf