-->

2014年10月11日土曜日

インスタンスメソッドの定義方法

今更ながらObj-Cの文法まとめ
あってるかなあ?

きっちりしたインスタンス変数の定義
sampleClass.h
@interface sampleClass:NSObject
{
   NSString *_string; //インスタンス変数の定義
   double _number; //インスタンス変数の定義
}
@property (nonatomic) NSString* string; //プロパティを記述すると、getterとsetterが自動で生成される
@end
sampleClass.m
@implementation sampleClass

@synthesize string = _string; //インスタンス変数とプロパティを明示的に紐付ける

//プロパティを記述していない場合、自分でgetterとsetterを作る
- (double)number{
   return _number;
}
- (void)setNumber:(double)number{
   _number = number;
}
@end
setter/getterを自分で作る場合の利点は、setter/getter内に好きなことを記述できる
例えば、_stringをセットしたついでに、UILabel.textに_stringをセットしたり

・self.propertyの使いどころ
getter/setter/init/deallocのみ_propertyを使い、
その他はself.propertyを使う

0 件のコメント:

コメントを投稿