Singleton(dispatch_once版)

On 2011年12月1日, in Objective-C, by タカ
Share on Facebook

Objective-Cのシングルトンは以前書いたけど、

dispatch_onceを使うとより簡単に書けるのでメモ。


Singleton.h

#import <Foundation/Foundation.h>

@interface Singleton : NSObject
+ (Singleton *)instance;
@end

Singleton.m

#import "Singleton.h"

@implementation Singleton

+ (Singleton *)instance {
  static Singleton *instance_ = nil;
  static dispatch_once_t predicate;
  dispatch_once(&predicate, ^{
    instance_ = [[self alloc] init];
  });
  return instance_;
}

@end

コメントを残す

メールアドレスが公開されることはありません。

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