我正在使用核心数据来存储不同的事件并跟踪每个事件已执行的次数。该实体称为“事件”,具有“名称”和“总计”属性。当一项事件执行多次时,我想更改该特定事件的“总计”属性(通过添加+1),而不是添加新事件。我怎样才能做到这一点?这是我到目前为止的代码:
let appDel = (UIApplication.sharedApplication().delegate as! AppDelegate)
let context: NSManagedObjectContext = appDel.managedObjectContext
let request = NSFetchRequest(entityName: "Activities")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format:"(name == %@)", name)
do {
let results = try context.executeFetchRequest(request) as! [Activities]
if results.count == 0 {
newActivity.setValue(1, forKey: "total")
newActivity.setValue(name), forKey: "name")
do {
try context.save()
}
catch {
print(error)
}
}
}
catch let error as NSError {
print(error)
}
}
最佳答案
如果你想更新(如果我没记错的话),你可以像这样更改total
:
results.total = YourWantedNumber or results.setValue(YourWantedNumber, forKey: "total")
context.save()
关于swift - 使用核心数据更新特定元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35725650/