Junior — Middle
Como determinar quais objetos podem ser adicionados a uma estrutura de dados do tipo dicionário?
sobes.tech IA
Resposta da IA
No iOS (Swift), para usar um objeto como chave num dicionário, ele deve cumprir o protocolo Hashable. Isso significa que o objeto deve ter um código hash único e poder ser comparado por igualdade.
Por exemplo, tipos padrão como String, Int, UUID já cumprem Hashable e podem ser chaves de dicionário. Tipos personalizados precisam ser explicitamente tornados Hashable:
struct Person: Hashable {
let id: Int
let name: String
}
let dict: [Person: String] = [Person(id: 1, name: "Alice"): "Developer"]
Se um objeto não cumprir Hashable, não pode ser usado como chave de dicionário. Os valores do dicionário podem ser de qualquer tipo.