web-dev-qa-db-ja.com

ARCの弱参照をゼロにする

Mike Ashの "Zeroing Weak References" writeup の私の読みが正しければ、弱い参照はARCのないassign参照のようなものです。ただし、参照されるオブジェクトの割り当てが解除されると、「ダングリングポインター」(割り当て解除されたオブジェクトを指すポインターを意味する)を取得する代わりに、ポインターがnilに設定されます。

これは正しいですか、これはweakまたはassign(ARCがアクティブな場合)とマークされたプロパティで発生しますか?

これが正しければ、これにより多くのSIGABRTが排除されます。

44
Dan Rosenstark

ほとんど正しいですが、assignプロパティは以前と同じように扱われ、weakプロパティのみがゼロになります。もう1つの注意点は、弱参照のゼロ化はMacOSX≥10.7およびiOS≥5でのみ使用できることです。ARCの残りの部分は10.6およびiOS4にバックポートされましたが、弱参照はこれらのOSではまったく使用できません。

38
cobbal