Objective-C のプロパティの属性を指定するとき、下記ことがあります。
タイプ | オプション | 説明 |
---|---|---|
独自メソッド名 | getter=(独自ゲッタ名) | ゲッタ名を指定する |
setter=(独自セッタ名) | セッタ名を指定する | |
読み書き指定 | readonly | 読み取り専用 |
readwrite | 読み書き可能(デフォルト) | |
値の持ち方 | assign | 代入で値を取得 |
retain | オブジェクトを保持 | |
unsafe_unretained | (ARC) assign に同じ | |
strong | (ARC) retain に同じ(デフォルト) | |
weak | (ARC) 弱い参照 | |
copy | オブジェクトをコピーして設定 | |
アトミック性 | nonatomic | 同時実行を許可 |
-
ARCを使わない場合はassignがデフォルト、使う場合はstrongがデフォルト。
-
retainは参照カウントが保持されて、assignは保持されないらしい。
参考:
http://kawairi.jp/weblog/vita/201312239804
http://qiita.com/uasi/items/80660f9aa20afaf671f3
http://nazo.hatenablog.com/entry/2012/05/30/objective-c-property