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