Wie entferne ich ein Element im Array? [Duplikat

Diese Frage hat hier bereits eine Antwort:

RemoveAtIndex Absturz von schnellem Array 5 Antworten

Ich 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)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage