一次为多个属性设置核心数据值

Core Data setValue for Multiple Attributes at once

我在 Core Data 中有一个 Book 实体和一个 Book class 作为模型层。

我的 Book 模型有多个属性。当需要将书籍保存在 Core Data 中时,我想存储它们而不必做

bookObject.setValue(book.title , forKey: "name")
bookObject.setValue(book.author , forKey: "author")
bookObject.setValue(book.datePublished , forKey: "datePublished")
etc...

是否有类似于 setValue 的方法来一次设置多个 CoreData 实体属性?

如果 Book 模型 class 继承自 NSObject 并且 使用 与核心数据实体 属性 名称和类型相同 然后 您可以使用 键值编码:

let keys = ["title", "author", "datePublished"]
let dict = book.dictionaryWithValuesForKeys(keys)
bookObject.setValuesForKeysWithDictionary(dict)