Menerima begitu saja bahwa jawaban @ vadian adalah solusinya , saya hanya ingin menunjukkan bahwa kode Anda tidak berfungsi.
Pertama-tama, indeks array berbasis 0, jadi Anda harus menulis ulang rentangnya sesuai:
for index 0..<myArray.count {
myArray.removeAtIndex(index)
}
Namun implementasi ini akan menyebabkan crash. Jika Anda memiliki array 10 elemen, elemen terakhir menempati posisi di indeks 9.
Dengan menggunakan loop tersebut, pada iterasi pertama elemen pada indeks 0 dihapus, dan itu menyebabkan elemen terakhir bergeser ke bawah pada indeks 8.
Pada iterasi berikutnya, elemen pada indeks 1 dihilangkan, dan elemen terakhir bergeser ke bawah pada indeks 7. Dan seterusnya.
Di beberapa titik dalam loop, upaya untuk menghapus elemen untuk indeks yang tidak ada akan menyebabkan aplikasi mogok.
Saat menghapus elemen dari larik dalam satu putaran, cara terbaik untuk melakukannya adalah dengan membukanya dalam urutan terbalik:
for index in reverse(0..<myArray.count) {
myArray.removeAtIndex(index)
}
Itu memastikan bahwa elemen yang dihapus tidak mengubah urutan atau indeks elemen yang masih akan diproses.