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日以上新しい記事の投稿がないブログに表示されております。