Wie entferne ich ein Element im Array? [Duplikat
Diese Frage hat hier bereits eine Antwort:
RemoveAtIndex Absturz von schnellem Array 5 AntwortenIch programmiere mitSchnel, und mit einem Problem verwechseln. Ich begegneteIndex außerhalb des Bereichs Fehler, wenn ich versuche, ein Element während der Aufzählung des Arrays aus dem Array zu entfernen.
Hier sind meine Fehlercodes:
var array :[Int] = [0,1,2,3,4,5]
for (index, number) in array.enumerate() {
if array[index] == 2 {
array.removeAtIndex(index) // Fatal error: Index out of range
}
}
Bedeutet das, dass array.enumerate () nicht während jeder for-Schleife aufgerufen wird?
Ich muss meine Codes so ändern:
for number in array {
if number == 2 || number == 5 {
array.removeAtIndex(array.indexOf(number)!)
}
}
Ode
var index = 0
repeat {
if array[index] == 2 || array[index] == 4 {
array.removeAtIndex(index)
}
index += 1
} while(index < array.count)