我想将核心数据实体中每个对象的布尔值设置为 false。
这就是我目前在核心数据中设置单个值的方式:
func updateFriendSaidHi(friend: Friends, in context: NSManagedObjectContext = CoreDataStack.shared.container.newBackgroundContext()){
context.performAndWait {
// Update value to true in core data
friend.saidHi = true
saveToPersistentStore()
}
}
您可以遍历实体中的每个项目,但我猜有更好的方法来做到这一点。
任何输入都会很棒。
您可以使用键值编码更改所有记录的属性
let request = NSFetchRequest<Friends> = Friends.fetchRequest()
context.performAndWait {
do {
let friends = context.fetch(request)
(friends as NSArray).setValue(true, forKey:"saidHi")
saveToPersistentStore()
} catch { print(error) }
}