今天,我的核心数据突然停止工作。你必须看到这个:
所以基本上我有一个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'
==========
这里有谁知道发生了什么以及如何解决这个问题?