統計情報(30日間)


最新情報をツイート

人気の投稿

Obj-Cでのstaticとextern利用パターン

このエントリーをはてなブックマークに追加

Cのストレージクラス auto, register, static, extern の解説。



Objective-Cではこのうち static, externが使われる。

以下、取り上げられているパターン。

シングルトンのインスタンス保持
+ (instancetype)sharedInstance {
  static id _sharedInstance = nil;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
      _sharedInstance = [[self alloc] init];
  });

  return _sharedInstance;
}

グローバル文字列定数の定義
extern NSString * const kAppErrorDomain;

グローバルなENUMの定義
typedef NS_ENUM(NSUInteger, TransactionState) {
    TransactionOpened,
    TransactionPending,
    TransactionClosed,
};

extern NSString * NSStringFromTransactionState(TransactionState state);


Leave a Reply