Die Antwort von @ vadian ist die Lösung , möchte ich nur darauf hinweisen, dass Ihr Code nicht funktioniert.
Zunächst einmal sind Array-Indizes 0-basiert, daher sollten Sie den Bereich entsprechend umschreiben:
for index 0..<myArray.count {
myArray.removeAtIndex(index)
}
Diese Implementierung wird jedoch einen Absturz verursachen. Wenn Sie ein Array von 10 Elementen haben, nimmt das letzte Element die Position bei Index 9 ein.
Bei Verwendung dieser Schleife wird bei der ersten Iteration das Element am Index 0 entfernt, und das letzte Element wird am Index 8 nach unten verschoben.
Bei der nächsten Iteration wird das Element bei Index 1 entfernt und das letzte Element bei Index 7 nach unten verschoben. Und so weiter.
Irgendwann in der Schleife führt ein Versuch, ein Element für einen nicht vorhandenen Index zu entfernen, zum Absturz der App.
Wenn Sie Elemente aus einem Array in einer Schleife entfernen, können Sie dies am besten in umgekehrter Reihenfolge durchlaufen:
for index in reverse(0..<myArray.count) {
myArray.removeAtIndex(index)
}
Dadurch wird sichergestellt, dass entfernte Elemente weder die Reihenfolge noch den Index der noch zu verarbeitenden Elemente ändern.