最終更新:2013-01-10 (木) 10:45:24 (4114d)  

weak
Top / weak

__weak?修飾子に対応するプロパティ属性

  • 対象オブジェクトに対する弱い(所有権を伴わない)関係がある旨を指定
  • 対象オブジェクトが割り当て解除されると、プロパティ値は自動的にnilになりる

使いどころ

  • 一般的なOutlet(IBOutlet)にはweakプロパティを使う
    • Interface Builderなどを用いて作成したOutletは、一般的に別のview(例えばUIViewControllerのviewなど)のsubviewであることがほとんど
    • したがって、これらのOutletのオーナーとなるのはsuperviewのみで十分 (自身がOutletのオーナーになる必要がない)
  • ビューからデリゲートの参照

互換性

  • weak修飾子はiOS 5以降でしか利用できない
  • iOS 4 でも動作するアプリケーションにするためには、weak修飾子を利用するところでunsafe_unretained修飾子を使う必要がある

変数

  • __weak?

関連

参考