使用 swift 将实体(核心数据)中的所有属性更新为 true
Update all attributes in entity(core data) to true with swift
希望我能说清楚我想要完成的事情,所以就开始吧。
我正在使用核心数据来存储我的数据。我的许多视图控制器都有一个教程会弹出来解释如何使用我的应用程序。我创建了一个名为 "tutorials" 的实体,如果将显示该视图控制器的教程,其中每个属性都是一个布尔值存储。
当应用首次 运行 时,它会在教程实体中创建一个条目,然后将其中的所有属性设置为 true。目前我正在使用类似 tutorials.attributeName = true
的方式设置每个属性,但由于我知道所有属性都是真实的,所以我希望使用类似于此问题的方式。
Core Data - Iterating through the attributes of a NSManagedObject
我尝试使用显示 Swift 3.0 的答案中的这个,但事实证明我不能使用 item.valueForKey(key) = true
,因为 item.valueForKey(key)
是只读的。因为我已经将教程设置为我的教程实体,所以我的代码要简单得多。但是我需要知道如何在使用key的时候设置属性值。
for key in tutorials.entity.attributesByName.keys {
//Code to set attribute key to true
}
如果能帮助我完成最后一英里,我们将不胜感激。
谢谢
好吧,我想通了,我应该使用这段代码来做我想做的事。
tutorials.setValue(true, forKey: key)
希望我能说清楚我想要完成的事情,所以就开始吧。 我正在使用核心数据来存储我的数据。我的许多视图控制器都有一个教程会弹出来解释如何使用我的应用程序。我创建了一个名为 "tutorials" 的实体,如果将显示该视图控制器的教程,其中每个属性都是一个布尔值存储。
当应用首次 运行 时,它会在教程实体中创建一个条目,然后将其中的所有属性设置为 true。目前我正在使用类似 tutorials.attributeName = true
的方式设置每个属性,但由于我知道所有属性都是真实的,所以我希望使用类似于此问题的方式。
Core Data - Iterating through the attributes of a NSManagedObject
我尝试使用显示 Swift 3.0 的答案中的这个,但事实证明我不能使用 item.valueForKey(key) = true
,因为 item.valueForKey(key)
是只读的。因为我已经将教程设置为我的教程实体,所以我的代码要简单得多。但是我需要知道如何在使用key的时候设置属性值。
for key in tutorials.entity.attributesByName.keys {
//Code to set attribute key to true
}
如果能帮助我完成最后一英里,我们将不胜感激。 谢谢
好吧,我想通了,我应该使用这段代码来做我想做的事。
tutorials.setValue(true, forKey: key)