2: 2017-12-07 (木) 08:17:22 njf |
3: 2017-12-07 (木) 13:09:43 njf |
| | | |
| **プロパティ定義 [#x794a50f] | | **プロパティ定義 [#x794a50f] |
| + | 「@property」を使うと、先頭に「_」(アンダーバー)がついたプライベート変数が定義され、同時にsetter、getterも定義されます。 |
| + | |
| + | @property int a,b; |
| + | |
| + | とすると、 |
| + | @private |
| + | int _a, _b; |
| + | という変数が定義され、setter、getterも定義されるので、ドット記法でプロパティにアクセスできるようになります。 |
| + | |
| + | instance.a = 1 |
| + | instance.b = instance.a |
| + | |
| + | といった記法が可能になります。 |
| + | 「@property」で「readonly」を指定して読み取り専用変数にしたりも出来ます。 |
| + | また、よく使われる「atomic/nonatimic」はスレッドセーフかどうかの違いです。 |
| + | 他にstrongは強い参照(参照が他で消されてもデータを保持)、copyはオブジェクトのコピーをとって保持(参照渡しではなく、実体が渡される感じ)します。 |
| + | |
| + | **メソッド定義 [#r746ad6d] |