一部のオブジェクトの保持カウントをチェックしています
NSLog(@"r = %d", [aObject retainCount];
意図的に「リリース」呼び出しを追加しても、取得できる最小値は「r = 1」のようです
[aObject release];
dealloc
オブジェクトのメソッドに「release」および「NSLog」テストコードを入れようとしても、「r = 1」制限は保持されます 。
Cocoa ランタイムは、サンプル プログラムの最後で (GC なしで) 「EXC_BAD_ACCESS」でクラッシュする前に、「r = 1」までの余分なリリースを無視しているようです。
私の唯一の説明 (推測) は、オブジェクトにアクセスするには r >= 1 が必要だということです。そして、Cocoa ランタイムは、オブジェクトの保持カウントが途中で 0 になるのを控えようとします。
私が間違っている場合、誰かが私を確認または修正できますか?