Я создал структуру и хочу преобразовать ее в [[String]]
var ucetPlatby = [struct_ucetPlatby]()
struct struct_ucetPlatby {
let id: Int
let trasaid: Int
let cena: Decimal
}
override func viewDidLoad() {
super.viewDidLoad()
ucetPlatby.append(.init(id: 1, trasaid: 1, cena: 33))
ucetPlatby.append(.init(id: 3, trasaid: 1, cena: 44))
ucetPlatby.append(.init(id: 4, trasaid: 1, cena: 55))
print(ucetPlatby)
}
... что приводит к:
[UD.ViewController.struct_ucetPlatby(id: 1, trasaid: 1, cena: 33), UD.ViewController.struct_ucetPlatby(id: 3, trasaid: 1, cena: 44), UD.ViewController.struct_ucetPlatby(id: 4, trasaid: 1, cena: 55)]
Но как я могу преобразовать объект структуры во что-то вроде [String]
[["1", "1", "33"], [["3", "1", "44"], [["4", "1", "55"]]
Это зависит от того, как вы хотите форматировать числа, но если вам нужен самый простой подход, вы просто используете значение по умолчанию с "\(...)"
:
let stringVersion = ucetPlatby.map { ["\($0.id)", "\($0.trasaid)", "\($0.cena)"]}
Тип этого [[String]]
, похоже, вы это имеете в виду. Окончательный результат будет:
[["1", "1", "33"], ["3", "1", "44"], ["4", "1", "55"]]
(Я считаю, что ваш вывод не совсем тот, что вы имели в виду; скобки не сбалансированы.)
Какова ваша цель? Зачем вам нужно преобразовать структуру в массив строк?