2017-05-08 1 views
-2

Mit dem folgenden Code-Snippet auf NSArray funktioniert einmal, aber wenn ich es ein zweites Mal direkt nach dem Absturz der App aufrufen, verstehe ich nicht wirklich warum, ich hätte gedacht, dass es alle Objekte im Array blind entfernen würde ? Wenn das nicht stimmt, kann ich mit count> 0 testen, bevor ich es ausführe, um sicher zu gehen, dass die App nicht abstürzt oder gibt es einen besseren Weg?Warum verursacht das zweimalige Aufrufen von removeAllObjects in NSArray einen Absturz der App?

[_transactionRowsRows removeAllObjects]; 
+4

können Sie das Crashlog anzeigen? – Aris

+1

Es gibt noch etwas anderes, das nicht von Ihrer Problembeschreibung abgedeckt wird. Normalerweise funktioniert 'removeAllObjects' so, wie Sie es für richtig halten. –

+0

ok ich schaue mir das crashlog am morgen an und poste, gerade das büro verlassen, es kommt bis Mitternacht hier –

Antwort

-1

NSArray ist unveränderbar, Sie müssen NSMutableArray verwenden.

+0

Ich nahm an, dass das ein Tippfehler war, seit der Aufruf von 'removeAllObjects' auf' NSArray' sollte eher einen Compilerfehler als einen Absturz ergeben. Wenn Sie nach dem Kompilierungsschritt einen Cast oder etwas durchführen, wird beim ersten Aufruf ein Fehler angezeigt, nicht beim zweiten. –

Verwandte Themen