如果循环找到不应存在的元素并将其删除,则循环递减循环计数器。如何在没有可变计数器的情况下编写Swift 3循环
var iMax = numListViews
for var i = 0; i < numListViews; i += 1 {
if (columnsSortTypesArray[i] == "") {
columnsSortTypesArray.removeAtIndex(i)
i--
iMax--
} else {
listViews[i].sortList(columnsSortTypesArray[i])
}
}
什么是'listViews'?而'columnsSortTypesArray',它是一个'String'数组吗?什么是'.sortList'方法应用于'i':'listView'的广播?请查看[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve),并可能使用更相关(但非臃肿)的信息更新您的问题。 – dfri
您的原始代码已经有点混淆了。看看'filter()'方法! –
另外,关于上述代码的注释:如果'columnsSortTypesArray'的长度(num。元素)只比numListViews略大,但包含多个''“'条目?这可能会在'columnsSortTypesArray [i]'(尝试)元素访问时产生一个运行时异常,因为'从'columnsSortTypesArray'(之后'columnsSortTypesArray'的长度可能是'
dfri