我想从核心数据中获取我的数据,其中书籍分配给“Max”。为此,我有以下代码:
let request = NSFetchRequest<Book>(entityName: "Book")
request.predicate = NSPredicate(format: "person.firstName = %@", "Max")
do {
let books = try context.fetch(request)
for x in 0 ..< books.count {
print(books[x].name)
}
} catch { }
但现在我想获取将书籍分配给对象 ID“xyz”的人的数据。
我尝试了这个,但它不起作用:
request.predicate = NSPredicate(format: "person.self = %@", myPersonObjectID)
最佳答案
您应该从对象 ID 中获取带有 existingObject
的对象,并在谓词中使用它。
if let myPerson = context.existingObject(with: myPersonObjectID) {
request.predicate = NSPredicate(format: "person = %@", myPerson)
}
关于swift - 核心数据 - 使用键路径和对象 ID 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46644285/