Я хотел бы преобразовать значение, полученное из API, в определенный формат.
[String:Any] // format received
[Int:[ContentType:Int]] // required format
ContentType - это Enum
Пример данных может выглядеть следующим образом:
["123":["Tables":"25","Chairs":"14"]] // input
[123:[.Tables:25,.Chairs:14]] // output
Я думаю, что мне нужна карта в карте дляэто работает, но я изо всех сил пытаюсь найти путь вперед.Я вполне могу лаять совсем не то дерево.Я действительно не хочу вручную проходить и добавлять каждый элемент по одному;Я ищу что-то более умное, чем это, если это возможно.
enum ContentType: String {
case Tables,Chairs
}
let original_values: [String:Any]
= ["1234":["Tables":"5","Chairs":"2"]]
let values: [Int:[ContentType:Int]]
= Dictionary(uniqueKeysWithValues: original_values.map {
(
Int($0.key)!,
(($0.value as? [String:String]).map { // Error on this line - expects 1 argument but two were used
(
ContentType(rawValue: $1.key)!, // $1 is presumably wrong here?
Int($1.value)
)
}) as? [ContentType:Int]
)
})
Любые идеи кто-нибудь?