Ich habe eine Singleton-Klasse, die Daten sammelt, bis diese Daten in meine Datenbank geschrieben werden (wenn Sie wissen wollen, warum ich die Dinge auf diese Weise implementiere, siehe here). Nach dem Speichern der Daten möchte ich das Singleton zerstören. Wie kann ich das in ARC tun? Oder bin ich paranoid und muss ich es überhaupt zerstören?iOS: Wie kann ich einen Singleton in ARC zerstören? Sollte ich?
* Sie könnten sagen, dass dies ein Duplikat von this Frage ist, aber die akzeptierte Antwort hier ist nicht spezifisch genug, um hilfreich zu sein. Es heißt "Sie können eine Methode/Funktion, die Sie explizit aufrufen, deklarieren." Wie könnte der Code dafür aussehen? Wenn ich das Objekt nicht außerhalb einer Methode freigeben kann, wie kann ich es dann innerhalb einer Methode abziehen? Es sagt auch "Der einfachste Weg ist es, eine statische C++ - Klasse zu halten, dann geben Sie es in seinem Destruktor frei." Ich kenne C++ nicht, aber - können Sie wirklich eine C++ - Klasse in Ihren App-Code einfügen?
Mein Singleton ist wie so umgesetzt:
+(NHCFamilyStatus *)familyStatus
{
static dispatch_once_t pred;
static NHCFamilyStatus *familyStatusSharedObject=nil;
dispatch_once(&pred,^
{
familyStatusSharedObject = [[NHCFamilyStatus alloc] init];
});
return familyStatusSharedObject;
}
[Dieser Beitrag wird Ihnen helfen, es finden Sie als richtig Ihre Singleton implementieren] [1] [1]: http://stackoverflow.com/questions/7598820/correct-singleton- pattern-objective-c-ios – chrislhardin
Warum zerstören Sie den Singleton und nicht nur den Puffer mit den Daten? – Jano
@Jano Könnten Sie erklären, wie ich diesen Puffer zerstören könnte? – cmac