从人那里得到所有书籍

时间:2017-10-08 20:10:54

标签: swift macos cocoa core-data

我正在使用swift 4 for macOS,我有两个核心数据实体(人和书)

我想要所有的书,我们是Person == Max。 使用此代码,我可以获取所有书籍:

let request = NSFetchRequest<Book>(entityName: "Book")
request.predicate = // 
request.sortDescriptors = [NSSortDescriptor(key: "bookName", ascending: true)]
   do {
      let books = try context.fetch(request)
      print(books)
   } catch { }

但是我如何使用谓词只获取分配给姓名为“Max”的Person的书籍?

1 个答案:

答案 0 :(得分:0)

  • 图书有一对一的关系&#34; person&#34;到人,
  • 有一个属性&#34; firstName&#34;。

所以&#34; person.firstName&#34;是从书到名字的关键路径 它拥有的人,你正在寻找的谓词是

NSPredicate(format: "person.firstName = %@", "Max")