Junior — Middle
Que métodos o protocolo Hashable implementa em Swift?
sobes.tech IA
Resposta da IA
O protocolo Hashable em Swift requer a implementação do método hash(into:), que aceita um parâmetro: um objeto do tipo inout Hasher. Nesse método, deve-se passar todas as propriedades que influenciam a unicidade do objeto para o hash, a fim de formar um código hash.
Exemplo:
struct Person: Hashable {
var name: String
var age: Int
func hash(into hasher: inout Hasher) {
hasher.combine(name)
hasher.combine(age)
}
}
Além disso, para que um tipo seja Hashable, ele também deve cumprir Equatable, ou seja, implementar o operador ==. Na maioria dos casos, o compilador gera esses métodos automaticamente se todas as propriedades também forem Hashable e Equatable.