我一直在尝试寻找在 Swift 中获取子数组的正确方法,但我在这里遗漏了一些东西。此代码不起作用,因为rowArray.append(row)
会引发错误。
无法将类型“ArraySlice<Int>”的值转换为指定类型“[Int]”
我不知道如何从主数组中获取 [Int] 或将 ArraySlice<Int> 转换为 [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)