как создать многомерный массив в SWIFT

Рейтинг: -1Ответов: 1Опубликовано: 31.03.2023
elements['key1']=['qwe1','asd1','zxc1']
elements['key2']=['qwe2','asd2','zxc2']
elements['key3']=['qwe3','asd3','zxc3']

Цель: создать массив elements, где ключами являются текстовые значения. Каждый элемент массива состоит из N-значений (в примере 3, но планируется больше). Необходимо обращаться к массиву и получать значение, например делаю запрос elements['key1'][2] и получаю zxc1

Вопрос: как правильно в Swift создать такой массив (xcode дает ошибку) или может кто предложить какой метод/решение

Ответы

▲ 0

Можно сделать словарь:

import UIKit


var emptyDictionary = [String: [String]]()
var testArray = [String]()

for i in 1...9 {
    testArray.append(i.description)
    
    if i == 9{
        for j in 0...4{
            emptyDictionary["key_\(emptyDictionary.count)"] = testArray
        }
    }
}

таким образом вы сможете складывать в массив сколько угодно значений, и каждый массив будет иметь уникальный ключ:

print(emptyDictionary)
print(emptyDictionary["key_3"]?[0].description)

["key_4": ["1", "2", "3", "4", "5", "6", "7", "8", "9"], "key_0": ["1", "2", "3", "4", "5", "6", "7", "8", "9"], "key_3": ["1", "2", "3", "4", "5", "6", "7", "8", "9"], "key_1": ["1", "2", "3", "4", "5", "6", "7", "8", "9"], "key_2": ["1", "2", "3", "4", "5", "6", "7", "8", "9"]]
Optional("1")