今天,我的核心数据突然停止工作。你必须看到这个:
所以基本上我有一个Task
NSManagedObject,它与medias
到多对关系。
最初我使用task.medias.count
来获取媒体的数量。它从一开始就在运作。
由于问题发生了,我尝试了几件事。
1)将代码更改为try-catch块:
NSInteger mCount;
@try {
NSSet *myMedias= task.medias;
mCount = myMedias.count; <<<===this is the line that debug stops and value flashes in the variable view as shown in the picture.
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
...
}
但它不起作用,调试器仍停在mCount行,这就是gif中显示的内容。
2)我查看了.xcdatamodeld
文件,发现medias
关系偶然发生了至少1次计数。我把它切换了(见图)。但问题仍然存在。
3)我使用StackMob作为后端。当我关闭网络时,闪光灯停止。似乎核心数据试图解决故障,但无法完成它的工作。或者有什么东西阻止它完成。
4)错误代码是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'nil is not a valid object ID'
==========
有谁在这里知道发生了什么以及如何解决这个问题?