ios - 核心数据删除只能间歇性工作

标签 ios swift core-data

我在删除时得到断断续续的结果。有时对象会被删除,但大多数时候当我重新启动项目甚至直接在删除代码之后,商店仍然会提取对象的实例。我通过 AppDelegate 中对 managedObjectContext 的引用进行删除,并确保保存删除后的内容。

   if let object = getById(id, context: context){
        context.deleteObject(object)
        do{
            print("Deleteing object by id")
            try context.save()
        }catch{
            print("Unable to delete object for some reason")
        }
   }

如果我在成功保存删除后立即再次运行具有相同 ID 的 getById(),它会再次找到该对象。错误 block 永远不会触发,所以我认为这里还有其他问题。有什么想法吗?

最佳答案

我认为您在进入 do 循环之前删除了找到的对象,而 context.save() 正在将其保存回来。这可能是您在查找对象时未触发错误 block 的原因。

尝试 -

if let object = getById(id, context: context) {
  do {
      try context.deleteObject(object)
      try context.save() (I am still not sure if this statement should be there!!!)
      print()

}catch{
      print()
}
}

希望对您有所帮助。

关于ios - 核心数据删除只能间歇性工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34796598/

相关文章:

ios - 使用核心数据更新 ios 应用程序

swift - 在 swift 中切换 View Controller 时内存使用量增加

ios - 你应该把所有东西都存储在 CoreData 中吗?

swift - 制作计数器应用程序 - 保存到核心数据后我需要执行某些操作吗?

ios - 核心数据 : having issue inserting data with relationship

ios - NSStream 委托(delegate)未触发错误

objective-c - 没有主详细信息模板的核心数据

swift - Swift 如何将常量值处理为数学函数?

ios - UILabel下的UIVIew动画

iphone - 核心数据 - 向 xcddatamodel 文件添加额外属性后应用程序崩溃