Я (полный новичок) в настоящее время пытаюсь создать свое первое приложение для iOS - таблицу валют/конвертер для валюты моей страны, украинской гривны. Я создал TableView, который я собираюсь заполнить данными из файла JSON по следующей ссылке: Нажмите здесь
Сам файл имеет корень массива. Как это:
[
{
"r030":36,"txt":"Австралійський долар","rate":21.334,"cc":"AUD","exchangedate":"23.12.2020"
}
,{
"r030":124,"txt":"Канадський долар","rate":21.9334,"cc":"CAD","exchangedate":"23.12.2020"
}
,{
"r030":156,"txt":"Юань Женьміньбі","rate":4.3192,"cc":"CNY","exchangedate":"23.12.2020"
}
,{
"r030":191,"txt":"Куна","rate":4.5833,"cc":"HRK","exchangedate":"23.12.2020"
}]
Я хочу создать словарь из этого файла, используя всего два значения: [cc: rate], а затем заполнить мой TableView этими данными. Меня не интересуют другие ценности.
Что-то вроде того:
["AUD": 21.334, "CAD": 21.9334]
Должен ли я использовать какой-либо другой тип данных для хранения этих данных? Структура, представляющая валюту, а затем, возможно, создать массив валютных структур?
Как мне получить этот файл с этого URL-адреса и создать такой массив Dictionary/Struct/...?
Огромное спасибо заранее :)
Сделать структуру
struct Currency : Decodable {
let name : String
let rate : Double
private enum CodingKeys : String, CodingKey { case name = "cc", rate }
}
Затем загрузите данные с помощью URLSession
и декодируйте массив JSON в [Currency]
с помощью JSONDecoder
(есть миллионы примеров того и другого).
Это для перевода ключа cc
в name
и исключения всех остальных ключей, кроме rate
.
Спасибо, сэр! Имеет смысл. Но не могли бы вы уточнить назначение этой частной строки enum. Для чего нам это нужно?