【发布时间】:2017-08-18 13:43:52
【问题描述】:
我正在使用 swift 4 for osx。
let appdelegate = NSApplication.shared().delegate as! AppDelegate
let context = appdelegate.persistentContainer.viewContext
var people = [Person]()
let request = NSFetchRequest<Person>(entityName: "Person")
do {
people = try context.fetch(request)
for person in people {
print("Person: ", person.name!)
for book in person.books {
print("Title: ", book.title!)
}
}
}
catch { print(error) }
- 我必须实体:人物和书籍
- 我可以创造一个人
- 我可以创建一本书来分配给一个人
- 我知道如何获取分配给哪些书籍的信息
哪个人(上面的代码)
现在我想删除一个拥有所有已分配书籍的人。 我可以一步完成还是让我从实体书籍中请求每一本书 objectID 并删除它?我试过这样的事情:
let appdelegate = NSApplication.shared().delegate as! AppDelegate
let context = appdelegate.persistentContainer.viewContext
var people = [Person]()
let request = NSFetchRequest<Person>(entityName: "Person")
people = try context.fetch(request)
for person in people {
context.delete(person as! NSManagedObject)
for book in person.books {
// request object ID of this book form books and delete it
}
}
} catch { }
【问题讨论】:
标签: macos cocoa core-data swift4