【发布时间】:2014-10-23 11:39:18
【问题描述】:
我正在尝试根据查询(更新)更新核心数据集。由于某种原因,代码似乎没有保存,没有抛出错误,我不知道为什么。
代码摘录如下:
var appDel: AppDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
var context: NSManagedObjectContext = appDel.managedObjectContext!
if itemId != nil {
var request = NSFetchRequest(entityName:"CheckListItem")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format:"itemId == '\(itemId!)' ")
var queryResults:NSArray = context.executeFetchRequest(request, error: nil)!
if queryResults.count > 1 {
CLAlog("DSF-updateChecklistItem-update: Item ID Provided, but a singluar item not found in Core Data", 1)
abort()
}
// Update Existing Item
queryResults[0].setValue(itemList["itemTitle"]!, forKeyPath: "itemTitle")
queryResults[0].setValue(itemList["itemDescription"]!, forKeyPath: "itemDescription")
queryResults[0].setValue(itemType, forKeyPath: "itemType")
//queryResults[0].setValue(itemList["itemDisplayOrder"], forKeyPath: "itemDisplayOrder")
var contextError: NSError? = nil
context.save(&contextError)
}
如果您能提供任何帮助,我们将不胜感激。
【问题讨论】:
-
您检查变量
contextError是否存在可能的错误?save方法返回布尔值,如果为 false 则可以打印错误。 -
是的,我有。错误变量返回 nil。