Dando por sentado que la respuesta de @ vadian es la solución , solo me gustaría señalar que su código no funciona.
En primer lugar, los índices de matriz están basados en 0, por lo que debe reescribir el rango en consecuencia:
for index 0..<myArray.count {
myArray.removeAtIndex(index)
}
Sin embargo, esta implementación provocará un bloqueo. Si tiene una matriz de 10 elementos, el último elemento ocupa la posición en el índice 9.
Usando ese ciclo, en la primera iteración se elimina el elemento en el índice 0, y eso hace que el último elemento se desplace hacia abajo en el índice 8.
En la siguiente iteración, el elemento del índice 1 se elimina y el último elemento se desplaza hacia abajo en el índice 7. Y así sucesivamente.
En algún punto del ciclo, un intento de eliminar un elemento de un índice no existente hará que la aplicación se bloquee.
Al eliminar elementos de una matriz en un bucle, la mejor forma de hacerlo es atravesarlo en orden inverso:
for index in reverse(0..<myArray.count) {
myArray.removeAtIndex(index)
}
Eso garantiza que los elementos eliminados no cambien el orden o el índice de los elementos que aún deben procesarse.