Sobes.tech
Junior — Middle

Como determinar o tipo correto de chave para usar num dicionário?

sobes.tech IA

Resposta da IA

No iOS (Swift), a chave para um dicionário deve cumprir o protocolo Hashable. Isso significa que a chave deve ser capaz de calcular um valor hash e ser comparada por igualdade, para que o dicionário possa armazenar e procurar valores de forma eficiente.

Por exemplo, tipos padrão como String, Int, UUID já implementam Hashable e são adequados para uso como chaves.

Se criar um tipo próprio para a chave, deve implementar o protocolo Hashable:

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

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

Portanto, o tipo correto de chave é aquele que:

  • implementa Hashable;
  • possui valores únicos para as chaves, para evitar colisões;
  • é imutável (é melhor usar estruturas ou propriedades imutáveis).