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);