如何从雨燕2.0得到一个子阵 [英] How to get a subArray from Swift 2.0
问题描述
我一直在试图寻找合适的方式来获得斯威夫特子数组,但我在这里失去了一些东西。这code不起作用,因为 rowArray.append(行)
抛出一个错误状态。
无法转换类型的值'ArraySlice<&诠释GT;'到指定的类型
[INT]
块引用>我无法弄清楚如何获得[INT]出主数组或ArraySlice&LT转换,诠释>为[INT]。我猜我失去了一些东西简单,但似乎无法找到从文档的答案。
VAR rowArray = [[INT]]()VAR具有rangeStart = 0
让rangeLength = mapWidth对于VAR指数= 0;指数< mapHeight; ++指数{
具有rangeStart = tileIDs.count - ((索引+ 1)* mapWidth) 让行:[INT] = tileIDs [具有rangeStart ...具有rangeStart + rangeLength]
rowArray.append(行)
}
rowArray.append(行)
解决方案转换
ArraySlice<诠释>
到[INT]
与阵列()
:让行:[INT] =阵列(tileIDs [具有rangeStart ...具有rangeStart + rangeLength])
I keep trying to search for the proper way to get a sub array in Swift but I am missing something here. This code doesn't work because
rowArray.append(row)
throws an error that states.Cannot convert value of type 'ArraySlice<Int>' to specified type '[Int]'
I can't figure out how to get an [Int] out of the main array or to convert ArraySlice<Int> to [Int]. I am guessing I am missing something simple but can't seem to find the answer from the docs.
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)
解决方案Convert
ArraySlice<Int>
to[Int]
withArray()
:let row : [Int] = Array(tileIDs[rangeStart...rangeStart+rangeLength])
这篇关于如何从雨燕2.0得到一个子阵的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!