「a」プロパティを宣言することにより、int をクラスに格納できるようになり、クラス内からアクセスできますが、クラス内でのみアクセスできます。他のオブジェクトからアクセスできるプロパティ (パブリック プロパティ) にしたい場合は、getter メソッドと setter メソッドが必要です。
で として宣言し、 で使用することにより@property
、.h
次@synthesize
の.m
2 つのメソッドが自動的に作成されます。
[myObject a]; // your getter
[myObject setA:50]; // your setter
ここで心に留めておくべきことの 1 つは、合成されたプロパティがメモリ管理を処理するため、クラス内であっても合成プロパティを使用することは非常に良い考えであることが多いということです。たとえば、次のようにフラグを立てる@property
場合retain
:
objectProperty = anObject; // just accessing locally, no memory management
self.objectProperty = anObject; // [anObject retain] will be called
self.objectProperty = nil; // [anObject release] will be called