首页 文章

如何通过Core Data中的一对一关系过滤实体 .

提问于
浏览
0

在我的功能单元中,我得到了一个实体作者的记录 . 我需要找出这位作者写的所有书 . 该书有一种名为belongsToAuthor的关系 . 如何申请账簿记录?

我可以使用以下NSPredicate按作者关系过滤书籍吗?

Author *author;
author = _author;
NSPredicate* predicate = [NSpredicate predicateWithFormat:@"ANY book.belongToAuthor == %@", author];

1 回答

  • 1

    如果你遵循了核心数据设计原则,你的关系 belongToAuthor (顺便说一句,简单地称之为 author 可能是一个更好的名字)在指向 Book 类的 Author 类上有一个反比关系 - 命名为像 books 这样简单的东西 .

    Book.belongToAuthor <<-> Author.books
    

    有了它,您可以简单地依靠Core Data的强大功能,并通过调用获取该作者编写的所有书籍

    NSSet *books = author.books;
    

    相关文档:Core Data Programming Guide - Relationships

相关问题