Ang*_*ila 1 arrays for-loop swift
在这段代码中,当迭代位置达到具有 20 个元素的数组中的 13 时,它会因索引超出范围错误而崩溃。
let counterHeaders = headers.count
for value in 0..<(counterHeaders){
if headers[value] == "" {
headers.remove(at: value)
}
}
Run Code Online (Sandbox Code Playgroud)
注意:创建 counterHeaders 变量是为了检查 headers 数组中有多少个值
indices当删除集合中的项目时,您只需要以相反的顺序迭代即可。
for value in headers.indices.reversed() {
if headers[value] == "" {
headers.remove(at: value)
}
}
Run Code Online (Sandbox Code Playgroud)
另请注意,有一个变异方法接受名为 的谓词removeAll(where:):
headers.removeAll(where: \.isEmpty)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |