如何从 Swift 2.0 获取子数组
How to get a subArray from Swift 2.0
我一直在尝试寻找在 Swift 中获取子数组的正确方法,但我在这里遗漏了一些东西。此代码不起作用,因为 rowArray.append(row)
抛出一个错误,指出。
Cannot convert value of type 'ArraySlice<Int>' to specified type
'[Int]'
我不知道如何从主数组中获取 [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)
使用Array()
将ArraySlice<Int>
转换为[Int]
:
let row : [Int] = Array(tileIDs[rangeStart...rangeStart+rangeLength])
我一直在尝试寻找在 Swift 中获取子数组的正确方法,但我在这里遗漏了一些东西。此代码不起作用,因为 rowArray.append(row)
抛出一个错误,指出。
Cannot convert value of type 'ArraySlice<Int>' to specified type '[Int]'
我不知道如何从主数组中获取 [Int] 或将 ArraySlice
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)
使用Array()
将ArraySlice<Int>
转换为[Int]
:
let row : [Int] = Array(tileIDs[rangeStart...rangeStart+rangeLength])