countByEnumeratingWithState
object-c クラスにメソッドを実装しようとしています(たとえばMyClass
、このメソッドでは、
MyOtherClass *cl = [[MyOtherClass alloc] init];
buffer[count++] = cl;
その場でオブジェクトを割り当てなければならない理由は、それらのオブジェクトが「別の場所」に保存されているためです。ただし、アプリケーションからこのメソッドを使用すると、クラッシュします。
for (const MyOtherClass *cl in myClassObj){
NSLog(@"obj: %@", cl.description);
}
この理由は、バッファーが「保持されていない」ため、ARC が countByEnumratingWithState の MyOtherClass オブジェクトを破棄する可能性が最も高いです。MyOtherClass オブジェクトが「保持」されていることを確認するにはどうすればよいですか?
関連情報:
- スレッド #4: tid = 0x5ca941、0x0000000101a4cf8b libobjc.A.dylib
objc_msgSend + 11, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frame #0: 0x0000000101a4cf8b libobjc.A.dylib
objc_msgSend + 11