Sobes.tech
Назад к вопросам
Junior — Middle
80

Как определить правильный тип ключа для использования в словаре?

Компании, где спрашивали
WildberriesWildberries
Touch Instinct

Ответ от нейросети

sobes.tech AI

В iOS (Swift) ключ для словаря должен соответствовать протоколу Hashable. Это значит, что ключ должен иметь возможность вычислять хэш-значение и сравниваться на равенство, чтобы словарь мог эффективно хранить и искать значения.

Например, стандартные типы, такие как String, Int, UUID, уже реализуют Hashable и подходят для использования в качестве ключей.

Если вы создаёте собственный тип для ключа, нужно реализовать протокол Hashable:

struct User: Hashable {
    let id: Int
    let name: String
}

var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"

Таким образом, правильный тип ключа — это тип, который:

  • реализует Hashable;
  • имеет уникальные значения для ключей, чтобы избежать коллизий;
  • является неизменяемым (лучше использовать структуры или неизменяемые свойства).