Sobes.tech
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.