Singletonを使う場面はよくあるんですが、iOS4以降はGrand Central Dispatchがあるのでそれのdispatch_onceを使う必要があるみたいで、メモ。 GCD 前: 1 + (MyController*)singleton { 2 static MyController *controller = nil; 3 4 if(!controller) { 5 controller = [[MyController] alloc] init]; 6 } 7 return controller; 8 } GCD 後: 1 + (MyController*)singleton { 2 static dispatch_once_t pred = 0; 3 static MyController *controller = nil; 4 5 dispa