¿Cómo eliminar el elemento en la matriz? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Eliminar Accidente de índice de matriz rápida 5 respuestas

Estoy codificando conRápidoy confundir con un problema. EncontréError de índice fuera de rango cuando intento eliminar un elemento de la matriz durante la enumeración de la matriz.

Aquí están mis códigos de error:

        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
            }
        }

¿Eso significa que no se llama a array.enumerate () durante cada ciclo for?

Tengo que cambiar mis códigos así:

    for number in array {
       if number == 2 || number == 5 {
          array.removeAtIndex(array.indexOf(number)!)
       }
    }

O

var index = 0
repeat {
    if array[index] == 2 || array[index] == 4 {
        array.removeAtIndex(index)
    }
    index += 1

} while(index < array.count)

Respuestas a la pregunta(1)

Su respuesta a la pregunta