我有一个快速数组,我用它来填充UITableview。
e.g
var array: Array<String> = ["ExampleString1","ExampleString2","ExampleString3"]我的问题是如何将我按下的Indexpath.row之后的所有项附加到一个新数组中。
例如,我按第一个UITableview单元格,它是第0行,在didSelectItemAtIndexPath中,我可以选择indexpath
let test = array[indexPath.row]如果我按下了第一个单元格,我想通过追加到我的新数组来添加ExampleString2和ExampleString3
var newArray: Array<String> = []
newArray.append(Everything After Indexpath that was pressed.)发布于 2016-01-28 06:02:55
var array = ["ExampleString1", "ExampleString2", "ExampleString3"]
let indexPath = 0 // Your indexPath
let newArray = array.enumerate().filter { $0.index > indexPath }.map { $0.element }就像这样。
并且使用Paulw11 11的建议:(如果他张贴他的答案,我会删除我的答案)
var newArray: [String] = []
for index in indexPath + 1...array.count - 1 {
newArray += [array[index]]
}另一种基于Paulw11 11的建议的变体是:
let newArray = array[indexPath + 1...array.count - 1].map { $0 }或者:
let newArray = Array(array[indexPath + 1...array.count - 1])他们都打印出来:
print(newArray) // ["ExampleString2", "ExampleString3"]您必须添加一些安全检查,因为如果您的indexPath.row是最后一个元素,它现在的方式将导致一个错误。在这种情况下,我最初的答案(第一个)更安全。
https://stackoverflow.com/questions/35053704
复制相似问题