iPhoneSDKを理解する~プロパティ~ [iOSプログラミング]
今回は、iPhoneSDKを理解する~プロパティ~について
Objective-C 2.0からプロパティという概念が導入されました。
概要としては、以下の通り。
プロパティとは、
オブジェクト指向プログラミングでメンバ変数をカプセル化する際、
必要となるsetter, getterメソッドの記述を省略するためので
iPhoneSDKでは以前までメソッドで用意されていたものが、
プロパティに置き換えられている場合がある。
コーディングは
interface内に
@property ~ でプロパティの定義を行い
implementation内に
@synthesize ~ で実装を行う
詳細は、以下の通り。
プロパティとは、
オブジェクト指向プログラミングでメンバ変数をカプセル化する際、
必要となるsetter, getterメソッドの記述を省略するためので
iPhoneSDKでは以前までメソッドで用意されていたものが、
プロパティに置き換えられている場合がある。
コーディングは
@interface MyClass : NSObject {
NSString *name;
}
@property (nonatomic, retain) NSString *name; // プロパティ定義
@end
@implementation MyClass
@synthesize name; //プロパティ実装
@end
利用するには、インスタンスを生成後下記のように設定や取得ができる。
// 設定
myClass.name = @"白いきつね";
// 取得
NSString *_name = myClass.name;
synthesizeを指定せずに、setter, getterを独自に定義することも可能で、
その場合、下記のように記述する。
@property (nonatomic, getter=myName) NSString *name;
詳細は、下記書籍(1.5.4プロパティ,p22~23)に記述されています。