Ios 在具有多对一/一对多关系的核心数据中构造谓词

Ios 在具有多对一/一对多关系的核心数据中构造谓词,ios,swift,core-data,nspredicate,Ios,Swift,Core Data,Nspredicate,我找不到这样做的方法:我只想得到我图书馆里的所有页面 因此,函数应该如下所示: func pages(inLibrary id: String) -> [Page] { //What is the predicate should I use to achieve this ? } 谢谢你的解释 这应该可以让你摆脱自我,但这是为了更容易地解释: NSPredicate(format: "SELF.book.library.id == %@", id) 您检索页面所在的书籍,并

我找不到这样做的方法:我只想得到我图书馆里的所有页面

因此,函数应该如下所示:

func pages(inLibrary id: String) -> [Page] {
    //What is the predicate should I use to achieve this ? 
}
谢谢你的解释


这应该可以让你摆脱自我,但这是为了更容易地解释:

NSPredicate(format: "SELF.book.library.id == %@", id)
您检索页面所在的书籍,并在页面获取请求中使用SELF.Book

然后,您可以在图书获取请求中使用SELF.Library检索图书所在的库

您可以使用SELF.id从库获取请求中的库id检索库

通过组合,您可以使用SELF.book.library.id从页面检索库


你可以删除SELF.

那么,book.library=%@,id?谢谢Larme,我只是个傻瓜:/。我尝试使用子查询,只是找到了相同的结果,但您的结果更好:从我的示例中,is more book.library.id==%@,id或book.library==%@,libraryobjectinded,我错过了library的id属性。