我有一个类,它在某些时候通过 Core Data fetch 获取一堆数据,然后将在 XCode 中以通常的 Core Data 方式创建的对象插入NSManagedObject
到NSMutableSet
. 根据事情的进展情况,其中一些对象可能最终会出现在其他几个集合中。到现在为止还挺好。
但随后会发生以下情况:
NSMutableArray* anArray = [NSMutableArray alloc] init;
[currentResults minus:previousResults]; // both are NSMutableSets
for(MyObject* obj in currentResults)
{
[anArray addObject:[createAnnoFromMyObject:obj]]; // nastiness happens here
}
createAnnoFromMyObj:
所做的只是将数据拉出并obj
返回一个实现MKAnnotation
.
问题是,尽管我得到了一组可用的注释,currentResults
但 ,previousResults
和任何其他引用了MyObject
被触摸的任何 s 的对象createAnnoFromMyObject:
最终都被丢弃了。
通过破坏我的意思是尝试访问它们会导致异常
-[MyObject beginningOfDocument]: unrecognized selector sent to instance...
当尝试使用该po
命令在调试器窗格中查看任何这些集合时,也会发生同样的情况。
我们尝试MyObject
在 Core Data 中重新生成,但没有成功。谷歌上很少提到这个beginningOfDocument
选择器,我们不知道有什么问题。尽管我们有一个可能会消除此问题的解决方法,但很高兴知道发生了什么。