首页 > 解决方案 > 在具有多对一/一对多关系的核心数据中构造谓词

问题描述

我找不到这样做的方法:我只想获取我图书馆中的所有页面。

所以,一个应该看起来像的函数:

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

谢谢你的解释。

在此处输入图像描述

标签: iosswiftcore-datanspredicate

解决方案


这应该可以解决问题(您可以删除SELF.,但它是为了更容易解释):

NSPredicate(format: "SELF.book.library.id == %@", id)

您在 Pages Fetch Request中检索“BookPages”中。SELF.book

Library然后,您可以在Book Fetch Request 中检索Bookis 。SELF.library

您可以使用从其内部的Fetch RequestSELF.id中检索。LibraryidLibrary

通过组合,您可以使用SELF.book.library.idLibrary.Pages

您可以删除SELF..


推荐阅读