Swift - 从数据库中删除单个记录
Posted
技术标签:
【中文标题】Swift - 从数据库中删除单个记录【英文标题】:Swift - Delete single record from database 【发布时间】:2015-04-21 07:21:01 【问题描述】:我正在尝试从数据库中删除一条记录。
if let items=fetchedResult
print(items.count) //this always prints "1", so it's working well
for item:NSManagedObject in items
println(item) //this prints the only element found. Also working well
println(sender.view!.restorationIdentifier!) //the restorationIdentifier matches with the id from the object in the database. Also working well
managagedContext.deleteObject(item) //<-- THIS is what is not working
sender.view?.removeFromSuperview() //removing the view well
else
print("Could not delete \(error), \(error!.userInfo)")
正如 cmets 中所说,managagedContext.deleteObject(item)
行不起作用,我没有收到任何错误,它只是没有删除数据库中的对象。
我已经搜索了 2 天,但一无所获。我希望你能帮助我。
谢谢。
【问题讨论】:
删除后是否保存了上下文? 【参考方案1】:Apple's doc 为deleteObject
指定在提交更改时应从其持久存储中删除的对象。
您需要致电context.save
以使您的更改持久化。 save documentation says that:
如果上下文的父存储是持久存储协调器,则更改将提交到外部存储
另外:this SO answer 显示了调用 save: 和管理 NSError 的详细信息
【讨论】:
以上是关于Swift - 从数据库中删除单个记录的主要内容,如果未能解决你的问题,请参考以下文章