我有这样的代码
let index = tableView.selectedRowIndexes.map { Int($0) }
arrDomains.remove(at: index)
Run Code Online (Sandbox Code Playgroud)
但得到错误:
无法将'[Int]'类型的值转换为预期的参数类型'Int'
如何将[Int]转换为int?
Swift 4,macOS
索引es是复数,表示有多个值
selectedRowIndexes返回一个IndexSet对象.你可以使用,forEach但你必须反转索引,否则你会得到着名的变异 - 迭代 - 超出范围的错误.
let indexes = tableView.selectedRowIndexes
indexes.reversed().forEach{ arrDomains.remove(at: $0) }
Run Code Online (Sandbox Code Playgroud)
映射indexSet到[Int]是多余的.
这是一种优化remove(at indexes: IndexSet)方法.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |