Как получить подмассив из Swift 2.0

Я продолжаю искать правильный способ получить подмассив в 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)

person Skyler Lauren    schedule 11.10.2015    source источник


Ответы (1)


Преобразование ArraySlice<Int> в [Int] с помощью Array():

let row : [Int] = Array(tileIDs[rangeStart...rangeStart+rangeLength])
person Eric Aya    schedule 11.10.2015
comment
Большое спасибо. Я пробовал так много разных комбинаций и понял, что это что-то простое. - person Skyler Lauren; 11.10.2015