Mike Ashの "Zeroing Weak References" writeup の私の読みが正しければ、弱い参照はARCのないassign
参照のようなものです。ただし、参照されるオブジェクトの割り当てが解除されると、「ダングリングポインター」(割り当て解除されたオブジェクトを指すポインターを意味する)を取得する代わりに、ポインターがnil
に設定されます。
これは正しいですか、これはweak
またはassign
(ARCがアクティブな場合)とマークされたプロパティで発生しますか?
これが正しければ、これにより多くのSIGABRTが排除されます。
ほとんど正しいですが、assign
プロパティは以前と同じように扱われ、weak
プロパティのみがゼロになります。もう1つの注意点は、弱参照のゼロ化はMacOSX≥10.7およびiOS≥5でのみ使用できることです。ARCの残りの部分は10.6およびiOS4にバックポートされましたが、弱参照はこれらのOSではまったく使用できません。