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 Antworten

Ich 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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage