Junior — Middle
Que tipos de objetos podem ser usados como elementos-chave numa coleção do tipo Set?
sobes.tech IA
Resposta da IA
Na coleção do tipo Set no iOS (por exemplo, NSSet ou Swift Set), os elementos-chave podem ser objetos que satisfaçam os seguintes requisitos:
- Em Objective-C (NSSet): os objetos devem suportar os métodos
-hashe-isEqual:para comparação e hashing corretos. - Em Swift (Set): os elementos devem conformar ao protocolo
Hashable, ou seja, ter um valor de hash e a capacidade de comparação de igualdade.
Isto é necessário para que a coleção possa armazenar de forma eficiente elementos únicos e realizar operações de busca rapidamente.
Exemplo em Swift:
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet = Set<Person>()
peopleSet.insert(Person(id: 1, name: "Иван"))
Portanto, quaisquer objetos que implementem Hashable (em Swift) ou os métodos hash e isEqual: (em Objective-C) podem ser elementos de Set.