2011年10月26日

Objective-Cでシングルトン

クラスメソッドで単一のインスタンスを返す


クラスメソッドとして"sharedInstanceメソッド"を用意して、インスタンスを返す。 シングルトンでは無いけど、シングルトンっぽく扱うのに適しているかな。

static MyClass *sharedInstance = nil;

@implementation MyClass
+(MyClass*)sharedInstance{
if(sharedInstance==nil){
sharedInstance = [MyClass alloc];
//その他初期化作業をする
}

return sharedInstance;
}
-(id)retain{
return self;
}
-(NSUInteger)retainCount{//deallocが呼ばれないようにretain数を誤摩化す
return NSUIntegerMax;
}
-(void)release{
//リリース処理はさせない
}
-(id)autorelease{
return self;
}
@end


http://developer.apple.com/jp/documentation/cocoa/Conceptual/ObjectiveC/Articles/chapter_2_section_4.html


posted by purigen at 13:11| Comment(0) | TrackBack(0) | Objective-C | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。