Sobes.tech
Junior — Middle

Pode-se usar uma estrutura de dados complexa como chave num dicionário?

sobes.tech IA

Resposta da IA

Nos dicionários (Dictionary) no iOS (Swift), as chaves podem ser apenas de tipos que cumprem o protocolo Hashable. Isso significa que uma estrutura de dados complexa pode ser uma chave se implementar a hashagem e a comparação de igualdade.

Por exemplo, se você tiver uma estrutura:

struct Point: Hashable {
    let x: Int
    let y: Int
}

você pode usar Point como chave em um dicionário:

var dict: [Point: String] = [:]
dict[Point(x: 1, y: 2)] = "Ponto A"

Se a estrutura não for compatível com Hashable, ela não pode ser usada como chave. Nesse caso, você deve adicionar a conformidade ao protocolo ou usar outro tipo de chave.