1. 程式人生 > >關於swift for 迴圈 遍歷陣列刪除元素的bug問題

關於swift for 迴圈 遍歷陣列刪除元素的bug問題

最近做專案的時候,有個迴圈操作刪除陣列的元素剛開始是這麼寫的。

for (index, item) in list.enumerate() {

    ……

// 如果裡邊有刪除操作,會有bug,不信你測測。一直顯示陣列越界

}

for item in list {

    ……
// 如果裡邊要刪除的話要改良
}


// 改良之後的寫法,親測沒問題Bug,也符合swift的寫法
        var array = ["1","2","3","4","5","6"]
        for item in array {
         if  let index = array.index(of: item)) {
                if item == "1" {
                    array.removeAtIndex(index)
                }
                if item == "5" {
                    array.removeAtIndex(index)
                }
            }
        }
        print(array)