Sobes.tech
Junior — Middle

¿Cómo determinar el tipo correcto de clave para usar en un diccionario?

sobes.tech AI

Respuesta de la IA

En iOS (Swift), la clave para un diccionario debe cumplir con el protocolo Hashable. Esto significa que la clave debe poder calcular un valor hash y compararse por igualdad, para que el diccionario pueda almacenar y buscar valores de manera eficiente.

Por ejemplo, tipos estándar como String, Int, UUID ya implementan Hashable y son adecuados para usarse como claves.

Si creas un tipo propio para la clave, debes implementar el protocolo Hashable:

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

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

Por lo tanto, el tipo correcto de clave es aquel que:

  • implementa Hashable;
  • tiene valores únicos para las claves, para evitar colisiones;
  • es inmutable (es mejor usar estructuras o propiedades inmutables).