我有一个 iVarNSMutableArray* _syncModels
并且在我的类的 init 方法中我初始化它就像_syncModels = [[NSMutableArray alloc] initWithCapacity:10];
在整个课程中,我在数组中添加和删除对象,但我从未重新初始化_syncModels
.
所以我得到了这个崩溃报告,上面写着-[NSConcreteData filterUsingPredicate:]: unrecognized selector sent to instance 0x23c740c0
。
符号化后,导致此崩溃的行是[_syncModels filterUsingPredicate:[NSPredicate predicateWithFormat:@"NOT (dataManagerFieldRecord = nil)"]];
世界上怎么_syncModels
能从一个NSMutableArray
变成一个NSConcreteData
?
这种特殊的崩溃很少见,但我们会遇到更多这样的崩溃,其中一些对象被打乱并被发送一条它无法处理的消息。
我们的目标是 ARC 下的 6.1。
编辑
我发现了问题......我无意中将self
(拥有对 的引用_syncModels
)从self
'sdealloc
方法添加到调度队列......所以这是一个内存管理问题......