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 是最后一个元素,现在的方式会导致错误。那样的话,我原来的答案(第一个)就比较稳妥了。
我有一个 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 是最后一个元素,现在的方式会导致错误。那样的话,我原来的答案(第一个)就比较稳妥了。