不常见的CoreData崩溃"nilOutReservedCurrentEventSnapshot"

PJe*_*ouf 6 xcode core-data ios swift2

我的应用程序中发生了一次崩溃,很少发生(可能每30次运行一次).错误代码包含一个奇怪的选择器名称_nilOutReservedCurrentEventSnapshot__,我根本找不到任何文档.这是来自我的控制台的提要:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType _nilOutReservedCurrentEventSnapshot__]: unrecognized selector sent to instance 0x157b51e0'
*** First throw call stack:
(0x2358810b 0x22d2ee17 0x2358d925 0x2358b559 0x234bbc08 0x24cbf445 0x24ca4d99 0x249bec 0x245c90 0x19b68c 0x24a5c97 0x24b05ab 0x24a8ef9 0x24b1a8d 0x24b18e7 0x232bfb29 0x232bf718)
libc++abi.dylib: terminating with uncaught exception of type NSException
Run Code Online (Sandbox Code Playgroud)

如果有人能够阐明这句话_nilOutReservedCurrentEventSnapshot__`的含义,那将对我有很大的帮助.崩溃位置的屏幕截图如下:

错误

JAL*_*JAL 1

_nilOutReservedCurrentEventSnapshot__是内部的私有方法,NSManagedObject用于从 Core Data 对象中刷新属性和值。您可以在此处的私有标头中看到它NSManagedObject 的私有标头中看到它。

__NSCFType是 Objective-C 运行时内部使用的 Core Foundation 类型的私有包装器。您可以通过查看此处的私有标头了解更多信息私有标头了解更多信息,但没有太多可看的内容。

如果没有完整的回溯,就很难调试特定问题。在我看来,罪魁祸首可能有两个:

  1. parentObject您的上下文在某种程度上是无效的。

  2. NSManagedObject您正在尝试将 Core Foundation 对象保存为不期望的属性。