Objective-Cでクラス変数を定義

 Objective-Cにはクラス変数を定義する仕組みが無いようだ。
 同様の変数を使いたい場合は、static指定子を使って変数宣言するみたい。

@interface Greeting : NSObject
+(void)setMessage:(char *)message;
-(void)say;
@end

static char *msg ="good morning!!";


@implementation Greeting
+(void)setMessage:(char *)message{
	msg = message;
}
-(void)say{
	printf("%s\n", msg);	
}
@end


int main(void){
	id obj = [[Greeting alloc] init];
	[obj say];	// good morning!と表示
	
	// クラス変数を書き換え
	[Greeting setMessage:"hello!"];
	[obj say];	// hello!と表示
	
	return 0;
}

定義ファイルで利用できる局所変数を作るというノリらしい。
しかし、Objective-Cは難しい。なかなか覚えられない。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>