Swift 在 indexpath.row 之后附加到数组

Swift Append to Array after indexpath.row

我有一个 swift 数组,我用它来填充 UITableview

例如

var array: Array<String> = ["ExampleString1","ExampleString2","ExampleString3"]

我的问题是如何将我按下的 Indexpath.row 之后的所有项目附加到一个新数组。

例如,我按第 0 行的第一个 UITableview 单元格,在 didSelectItemAtIndexPath 中,我可以选择 indexpath

let test = array[indexPath.row]

如果我按下第一个单元格,我想通过附加到我的新数组来添加 ExampleString2 和 ExampleString3

var newArray: Array<String> = []
newArray.append(Everything After Indexpath that was pressed.)
var array = ["ExampleString1", "ExampleString2", "ExampleString3"]
let indexPath = 0 // Your indexPath

let newArray = array.enumerate().filter { [=10=].index > indexPath }.map { [=10=].element }

像这样。

并使用 Paulw11 的建议:(如果他发布他的答案,我会删除我的)

var newArray: [String] = []

for index in indexPath + 1...array.count - 1 {
    newArray += [array[index]]
}

基于 Paulw11 的建议的另一个变体:

let newArray = array[indexPath + 1...array.count - 1].map { [=12=] }

或:

let newArray = Array(array[indexPath + 1...array.count - 1])

他们都打印出来了:

print(newArray) // ["ExampleString2", "ExampleString3"]

您必须添加一些安全检查,因为如果您的 indexPath.row 是最后一个元素,现在的方式会导致错误。那样的话,我原来的答案(第一个)就比较稳妥了。