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

