如何从 Swift 2.0 中获取子数组

Posted

技术标签:

【中文标题】如何从 Swift 2.0 中获取子数组【英文标题】:How to get a subArray from Swift 2.0 【发布时间】:2016-01-08 16:47:02 【问题描述】:

我一直在尝试寻找在 Swift 中获取子数组的正确方法,但我在这里遗漏了一些东西。此代码不起作用,因为rowArray.append(row) 抛出一个错误,指出。

无法将 'ArraySlice' 类型的值转换为指定类型 '[整数]'

我不知道如何从主数组中获取 [Int] 或将 ArraySlice 转换为 [Int]。我猜我遗漏了一些简单的东西,但似乎无法从文档中找到答案。

var rowArray = [[Int]]()

var rangeStart = 0
let rangeLength = mapWidth

for var index = 0; index < mapHeight; ++index
    rangeStart = tileIDs.count - ((index + 1) * mapWidth )

    let row : [Int] = tileIDs[rangeStart...rangeStart+rangeLength]
    rowArray.append(row)

rowArray.append(row)

【问题讨论】:

【参考方案1】:

使用Array()ArraySlice&lt;Int&gt; 转换为[Int]

let row : [Int] = Array(tileIDs[rangeStart...rangeStart+rangeLength])

【讨论】:

非常感谢。我尝试了很多不同的组合,并认为这很简单。

以上是关于如何从 Swift 2.0 中获取子数组的主要内容,如果未能解决你的问题,请参考以下文章

如何从元素中获取子元素数组?

如何使用Swift 4将数据从Pop-Over子视图传递到View Controller

最大子数组和2.0

Swift(iOS)将UIImage数组插入子视图?

如何获取json数组的子节点的值

在 CoreData 中存储和获取字典数组