Wie kann man eine ARC-kompatible und "alloc init" sichere Singleton-Klasse richtig implementieren? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
Wie implementiere ich einen mit ARC kompatiblen Objective-C-Singleton? 10 AntwortenIch habe eine thread-sichere Version gesehen
+(MyClass *)singleton {
static dispatch_once_t pred;
static MyClass *shared = nil;
dispatch_once(&pred, ^{
shared = [[MyClass alloc] init];
});
return shared;
}
aber was würde passieren, wenn jemand einfach anruft[MyClass alloc] init]
? So geben Sie dieselbe Instanz wie die zurück+(MyClass *)singleton
Methode?