En prenant pour acquis que la réponse de @ vadian est la solution , je voudrais juste souligner que votre code ne fonctionne pas.
Tout d'abord, les index de tableau sont basés sur 0, vous devez donc réécrire la plage en conséquence:
for index 0..<myArray.count {
myArray.removeAtIndex(index)
}
Cependant, cette implémentation va provoquer un crash. Si vous avez un tableau de 10 éléments, le dernier élément occupe la position à l'index 9.
En utilisant cette boucle, à la première itération, l'élément à l'index 0 est supprimé, ce qui provoque le décalage du dernier élément à l'index 8.
À l'itération suivante, l'élément à l'index 1 est supprimé et le dernier élément décale vers le bas à l'index 7. Et ainsi de suite.
À un moment donné de la boucle, une tentative de suppression d'un élément d'un index non existant provoquera le blocage de l'application.
Lors de la suppression d'éléments d'un tableau dans une boucle, la meilleure façon de le faire est de le parcourir dans l'ordre inverse:
for index in reverse(0..<myArray.count) {
myArray.removeAtIndex(index)
}
Cela garantit que les éléments supprimés ne modifient pas l'ordre ou l'index des éléments à traiter.