首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >快速添加到indexpath.row后的数组

快速添加到indexpath.row后的数组
EN

Stack Overflow用户
提问于 2016-01-28 05:47:43
回答 1查看 1.8K关注 0票数 0

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

e.g

代码语言:javascript
复制
var array: Array<String> = ["ExampleString1","ExampleString2","ExampleString3"]

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

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

代码语言:javascript
复制
let test = array[indexPath.row]

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

代码语言:javascript
复制
var newArray: Array<String> = []
newArray.append(Everything After Indexpath that was pressed.)
EN

Stack Overflow用户

回答已采纳

发布于 2016-01-28 06:02:55

代码语言:javascript
复制
var array = ["ExampleString1", "ExampleString2", "ExampleString3"]
let indexPath = 0 // Your indexPath

let newArray = array.enumerate().filter { $0.index > indexPath }.map { $0.element }

就像这样。

并且使用Paulw11 11的建议:(如果他张贴他的答案,我会删除我的答案)

代码语言:javascript
复制
var newArray: [String] = []

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

另一种基于Paulw11 11的建议的变体是:

代码语言:javascript
复制
let newArray = array[indexPath + 1...array.count - 1].map { $0 }

或者:

代码语言:javascript
复制
let newArray = Array(array[indexPath + 1...array.count - 1])

他们都打印出来:

代码语言:javascript
复制
print(newArray) // ["ExampleString2", "ExampleString3"]

您必须添加一些安全检查,因为如果您的indexPath.row是最后一个元素,它现在的方式将导致一个错误。在这种情况下,我最初的答案(第一个)更安全。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35053704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档