Что такое Dictionary в Swift?

«Что такое Dictionary в Swift?» — вопрос из категории Swift Core, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Dictionary (словарь) в Swift — это универсальная коллекция, хранящая пары «ключ-значение». Каждый ключ должен быть уникальным и соответствовать протоколу Hashable, что обеспечивает быстрый (в среднем O(1)) доступ к значению.

Ключевые характеристики:

  • Неупорядоченный — порядок элементов не гарантируется.
  • Типобезопасный — типы ключа и значения строго определены.
  • Основан на хеш-таблицах — обеспечивает высокую производительность поиска.

Пример объявления и использования:

// Объявление словаря с типом [String: Int]
var scoreBoard: [String: Int] = ["Alice": 100, "Bob": 85]

// Доступ к значению по ключу (возвращает Optional)
let aliceScore = scoreBoard["Alice"] // 100

// Добавление или изменение значения
scoreBoard["Charlie"] = 90

// Удаление пары
scoreBoard["Bob"] = nil

// Итерация по словарю
for (player, score) in scoreBoard {
    print("(player): (score)")
}

Практическое применение:

  • Кэширование данных для быстрого поиска.
  • Хранение конфигурационных параметров.
  • Группировка объектов по определенному признаку (например, группировка контактов по первой букве имени).