【发布时间】:2016-04-16 16:12:03
【问题描述】:
我正在开发一个 iOS 应用程序,该应用程序将一些数据存储在 Core Data 中。当我不得不从 Core Data 中删除特定数据时,我发现了一个问题。
虽然说删除成功,但是存储的元素个数是一样的。
你能看一下吗?
代码如下:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let fetchRequest = NSFetchRequest(entityName: "Session")
fetchRequest.returnsObjectsAsFaults = false
do
{
var session = try managedContext.executeFetchRequest(fetchRequest) as! [Session]
managedContext.deleteObject(session.first!)
if session.first!.deleted {
print("Succesfully deleted")
print(session.count)
}
else {
print("Unsuccesfull")
}
} catch {
print("Detele error : \(error)")
}
【问题讨论】:
-
您需要保存上下文 - 如果获取的数组为空,您的代码将可靠地崩溃(
do - catch表达式无法捕捉到这一点)。
标签: ios database swift core-data