私はiVarを持っていてNSMutableArray* _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
dealloc