ios - 核心数据: Illegal attempt to establish a relationship 'statusmedia' between objects in different contexts

标签 ios swift core-data

我在我的应用程序上使用 Core Data。经过轻量级迁移和代码升级到 swift 4.0 后,我遇到了一些问题。

问题 1

从上下文中删除托管对象 0x7fd0881de320 (0x7fd0884589b0) 后对其进行更改。

问题 2

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“非法尝试在不同上下文中的对象之间建立关系“statusmedia”(源=(实体:状态;id:0x10f6dc280)

终止问题非常严重。

Note that I have used only one Context (default one and not private)

如果您想从我这里获得更多信息,请告诉我...

任何帮助将不胜感激。

最佳答案

不幸的是,许多人可能会导致这种情况,但最需要检查的候选者是:

  1. 在您的模型中存在关系删除规则。 “级联”选项应在删除该对象时删除相关的对象。如果这不是预期的,那么很容易产生这样的错误。
  2. 您正在删除一个对象,但仍然使用它。这是一个逻辑错误,但可以通过标记已删除的托管对象(将已删除对象的 ID 放入某个数组中)然后检查失败的对象是否被标记(它的 ID 存在于该数组中)来轻松确认。
  3. 您正在使用多个上下文,但没有意识到这一点。诸如获取结果 Controller 之类的一些工具是潜在的候选者。

还有其他可能性,但我会从提到的这些开始。

关于ios - 核心数据: Illegal attempt to establish a relationship 'statusmedia' between objects in different contexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52221390/

相关文章:

swift - 我可以使用 Xcode 11 在 Mojave 上编译 swift 5.1 吗?

Swift - 如何语音基本运算符 - 符号(+,-,×)?

iphone - 存储 NSAttributedString 核心数据

ios - Xcode 跳转到书签或断点

ios - OpenGL es 缩放到触摸点 (iOS)

ios - iTunnesConnect 版本管理

iOS - 核心数据 - NSManagedObjectContext - 不确定是否保存

ios - Objective-C 属性 getter 抛出异常 'Unrecognized selector sent to instance'

swift - 无法让 stackview 在 ScrollView 中正确调整

ios - 在具有关系的实体中添加数据