@sportredwhite

Как перебрать массив словарей в swift?

Подскажите плз, как правильно сделать!

[ [["HomeTeam": "0", "GuestTeam": "0"], ["HomeTeam": "0", "GuestTeam": "0"]],
 [["HomeTeam": "0", "GuestTeam": "0"], ["HomeTeam": "0", "GuestTeam": "0"]],
 [["HomeTeam": "0", "GuestTeam": "0"], ["HomeTeam": "0", "GuestTeam": "0"]] ]


Есть двухмерный массив словарей, мне нужно получить ключи в той последовательности которой они есть в массиве. Нужно получить только HomeTeam, но выдаёт то HomeTeam, то GuestTeam.

5ac3659400451701666596.png
for (country, gol) in games[indexPath.section].groups[indexPath.row] {
            cell.countryHome.text = country
            cell.golsHometeam.text = gol
 }
  • Вопрос задан
  • 1083 просмотра
Решения вопроса 1
maestrro712
@maestrro712
 iOS Developer
К сожалению вы неверно подобрали структуру данных. Ваша проблема в том, что ваш код не перебирает словари, а перебирает содержимое внутри словаря. Тут надо знать, что порядок записей в словаре не гарантируется. То есть когда на месте HomeTeam и GuestTeam окажутся реальные данные, вы никак не сможете определить кто есть кто.
Я не знаю источника выших данных и где они еще используются, но чисто под эту задачу рекомендовал бы такую структуру:

typealias ResultsArray = [[(homeTeam: (name: String, score: String), guestTeam: (name: String, score: String))]]

//для сравнения, ваша структура:
typealias YourStructure = [[[String: String]]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы