Swift 删除核心数据条目';行不通
我尝试使用Swift删除核心数据条目。我还使用fetchedresults控制器来加载条目。这是我的代码:Swift 删除核心数据条目';行不通,swift,core-data,xcode6,Swift,Core Data,Xcode6,我尝试使用Swift删除核心数据条目。我还使用fetchedresults控制器来加载条目。这是我的代码: let context = self.fetchedResultsController.managedObjectContext let fetchRequest = NSFetchRequest(entityName:"Person") fetchRequest.predicate = NSPredicate(format: "name = '\(item)'")
let context = self.fetchedResultsController.managedObjectContext
let fetchRequest = NSFetchRequest(entityName:"Person")
fetchRequest.predicate = NSPredicate(format: "name = '\(item)'")
var error : NSError?
if let results = context.executeFetchRequest(fetchRequest, error:&error),
let managedObject = results.first as? NSManagedObject {
context.deleteObject(managedObject)
}
我不知道为什么,但如果此代码运行,条目将从表中删除,但如果我重新启动应用程序,表中会包含我已删除的任务。这只会从托管对象上下文(用于进行更改的草稿行)中删除对象。要将托管对象上下文中完成的任何操作持久化到基础数据库,需要先保存它:
if let results = context.executeFetchRequest(fetchRequest, error:&error),
let managedObject = results.first as? NSManagedObject {
context.deleteObject(managedObject)
}
let saveError: NSError?
context.save(&saveError)
你需要存钱
Swift 1.2
context.save(nil)
do { try context.save() } catch {}
Swift 2
context.save(nil)
do { try context.save() } catch {}