Ich versuche, ein NSMutableArray mit dem [myarray removeallobjects] zu leeren; aber ich bekomme Fehler exc_bad_access. Ist das der richtige Weg, um das Array zu leeren? Ich habe versucht, es auf Null zu setzen, aber es funktioniert auch nicht. Eigentlich fülle ich das Array mit Daten und der Benutzer hat die Möglichkeit, die Daten zu "erneuern" und ich möchte das Array leeren, bevor ich die aktualisierten Daten eintrage. Ich kann keinen Code posten, weil er zu groß ist.
Ich denke, das Problem liegt in diesem Codeschnipsel, den Sie in den Kommentaren angegeben haben,
%Vor% taggedID
und taggedName
sind Eigenschaften des Objekts checkinsA
. Sie sollten nur in der Methode dealloc
veröffentlicht werden. Das Array behält die Objektbaumstruktur nicht bei. Es behält nur das Wurzelobjekt bei. Also sollte es hier keine Veröffentlichung geben. Also klopfen Sie die zwei Linien in der Mitte aus und machen Sie es
Sie stürzen ab, weil Ihr Array nicht mehr im Speicher vorhanden ist.
Ich wette, es liegt daran, dass du vergessen hast, es zu behalten (oder es zu früh zu veröffentlichen)
Sie haben es wahrscheinlich mit [NSMutableArray array]
oder arrayWithObjects:
oder einigen dieser Varianten erstellt oder nach Ihrem autorelease
+ alloc
init
aufgerufen, während es sich bei einer Instanzvariable um das Objekt handelt ist dealloc'd.
Beachten Sie, dass Speicherverwaltung ein wichtiger Teil der iOS-Entwicklung ist. Seien Sie sicher, es vollkommen zu kennen (wie es natürlich wird und Sie nicht zögern werden, zu behalten und wann zu entlassen), bevor Sie fortfahren, es wird Ihnen viele Schwierigkeiten wie dieses vermeiden, sobald Sie es richtig verwenden.
Tags und Links iphone object nsmutablearray