Beachten Sie, dass Ihre Frage ist schlecht ausgebildet. Die -dealloc Methode von UIApplication wird nie aufgerufen. Die -dealloc des Delegaten Ihrer Anwendung wird nie aufgerufen. Das bedeutet, dass alle Objekte, die vom Delegaten Ihrer Anwendung beibehalten werden, niemals freigegeben werden, sodass ihre dealloc nie aufgerufen wird.
Sie sollten applicationWillTerminate Ihre Bereinigung in Ihrer Anwendung Delegierten tun: Da Ihre Anwendung zu sterben ist etwa, die Sie nicht wirklich etwas tun müssen, außer Nicht-Speicher-Ressourcen zurück zu geben, Ihre Dateien sicher sind richtig geschlossen, und dass Ihre NSUserDefaults synchronisiert sind, damit Sie das nächste Mal ordnungsgemäß gestartet werden können, wenn Sie ausgeführt werden.
Jedes Objekt, das während der Laufzeit des Programms wiederholt zugewiesen und freigegeben werden kann, verdient jedoch eine von Apple dokumentierte Dejall-Methode, und es empfiehlt sich, dies für alle Klassen zu schreiben Sie werden nicht gerufen, nur damit Sie gute Gewohnheiten aufbauen und die Leser nicht verwirrt werden. Außerdem ersparen Sie in der Zukunft Wartungskopfschmerzen, wenn Sie DO mehrere davon erstellen und zerstören, zum Beispiel in Ihren Unit-Tests.
Das ist nicht wahr, weil eine Menge Dinge ersetzen, die nicht mehr verwendet werden, um lange entladen erhalten, bevor Ihre Anwendung beendet.Wenn Sie das nicht tun, verbraucht Ihre App viel Speicher. – Boon
Ah, guter Punkt, danke. Ich habe die Antwort bearbeitet, um oben eine Erläuterung hinzuzufügen. – Elliot