Ich habe ein NSDate
Objekt erstellt vonNSDate init Frage, bezogen auf die Speicherverwaltung in Objective-C
NSDate *date = [[NSDate alloc] init];
Später habe ich das Datum auf das „jetzt“ zurücksetzen wollen, so dachte ich, dass
[date init];
oder
date = [date init];
könnte die Arbeit tun, aber sie tun es nicht. Stattdessen
[date release];
date = [[NSDate alloc] init];
funktioniert. Ich bin ein wenig verwirrt darüber, da in der Dokumentation zu - (id) init
, heißt es:
Gibt ein NSDate Objekt und das aktuelle Datum und die Uhrzeit initialisiert.
und da date
ist bereits vergeben, es sollte nicht nur eine init
Nachricht benötigen?
Daten unveränderlich sind und nicht geändert werden können. Wenn Sie jetzt Zeit haben möchten, müssen Sie ein neues Datum erstellen. Siehe Quinns Antwort unten speziell für: init. Es ist immer ein Programmierfehler, init mehr als einmal für ein gegebenes Objekt aufzurufen. –