シングルトン パターンのこの特定の実装をどこでも見てきました。
+ (CargoBay *)sharedManager {
static CargoBay *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedManager = [[CargoBay alloc] init];
});
return _sharedManager;
}
そして、それは良い習慣として受け入れられているようです(特にこれはCargoBayからのものです)。
私が理解していない唯一の部分は最初の行static CargoBay *_sharedManager = nil;
です。
なぜそのstatic
変数を に設定しているのnil
ですか?