Hier ist mein Fall: Ich habe eine Tabellenansicht, die Kontakte zeigt. Schaltfläche Hinzufügen in der Navigationsleiste wird zum Laden einer anderen Ansicht für die Dateneingabe verwendet. Diese neue Ansicht enthält Bilder im Tabellenheader, und jede Tabellenzelle hat entweder ein UITextField oder ein UITextView. Wenn ich Abbrechen drücke, wird die Ansicht ausgeblendet und der Speicher freigegeben.iPhone Entwicklung - EXC_BAD_ACCESS Fehler ohne Stack-Trace
Hier ist mein Problem: Wenn ich die Schaltfläche „Hinzufügen“ Schnittstelle zu öffnen, einen Wert in einem der UITextField oder UITextView liefern, und klicken Sie auf „Abbrechen“, um zurück zu der übergeordneten Ansicht zu gehen, erhalte ich eine EXC_BAD_ACCESS Fehler. Wenn ich es nachverfolg, ruft der "Add Controller" dealloc ordnungsgemäß, aber nach dem [Super Dealloc] wenn ich fortfahren drücken, wird dieser Fehler ausgelöst. Nur das, keine Spur, obwohl ich NSZombieEnabled verwende. Wenn ich den Code mit Instrumenten laufen, bekomme ich keine Fehler :(
Ich hoffe, dass ich bei der Erklärung der Frage klar bin. Alle Hinweise? Vielen Dank.
Das Problem verschwindet magisch, wenn ich entfernen [Tableview release] von meinem "Kontakt hinzufügen" Dealloc-Methode der Controller-Klasse. Aber ich sollte das TableView-Objekt freigeben, richtig? Obwohl ich Nib-Datei verwende - und tableView ein 'IBOutlet' gemacht habe. – Mustafa
Nein, sollten Sie nicht. Die zu beachtende Regel lautet: "Wenn Sie sie nicht explizit zugewiesen, kopiert oder behalten haben, geben Sie sie nicht explizit frei." –