私は自分のコードをバグより少なくすることを常に考えています。プロパティの割り当てに続いてautorelease
self.prop1 = [[[SomeClass alloc] init] autorelease];
私の思考があれば、そのアプリケーションの前にある:私は他のプログラマのコードをクリーンアップし、私は右のマルチスレッド環境での通話が安全ではないというのが私の仮定にいる場合は疑問に思って、この何回も見てきました別のスレッドが介入してprop1を解放する関数で行われ、次のrunLoopでは、prop1が他のスレッドによってnilに設定されていないと、init'dのポインタが再び解放される可能性があります。
Timeline:
*-----------------**-----------*
| | |
| | Thread 1 autoreleases prop1 when done with function
| |
| Thread 2 releases prop1
|
Thread 1 calls the above code and doesn't finish the function
私はこれが誰かにとって意味をなされ、私の懸念を明確にしたり緩和したりすることができると願っています。
「自動リリース」は、実際にオブジェクトを解放しません、それだけに参照カウントシステムに指示します後である時点でそのオブジェクトの参照カウントを減らします。 – JAB