Back to questions
Junior — Middle
80
Можно ли использовать сложную структуру данных в качестве ключа в словаре?
Answer from AI
sobes.tech AI
В словарях (Dictionary) в iOS (Swift) ключами могут быть только те типы, которые соответствуют протоколу Hashable. Это значит, что сложная структура данных может быть ключом, если она реализует хеширование и сравнение на равенство.
Например, если у вас есть структура:
struct Point: Hashable {
let x: Int
let y: Int
}
то вы можете использовать Point как ключ в словаре:
var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Точка A"
Если структура не соответствует Hashable, то её нельзя использовать в качестве ключа. В этом случае нужно либо добавить соответствие протоколу, либо использовать другой тип ключа.