Junior — Middle
Quels types d'objets sont autorisés en tant qu'éléments-clés dans une collection de type Set?
sobes.tech IA
Réponse de l'IA
Dans une collection de type Set sur iOS (par exemple, NSSet ou Swift Set), les éléments-clés peuvent être des objets qui satisfont aux exigences suivantes :
- En Objective-C (NSSet) : les objets doivent supporter les méthodes
-hashet-isEqual:pour une comparaison et un hachage corrects. - En Swift (Set) : les éléments doivent conformer au protocole
Hashable, c'est-à-dire avoir une valeur de hachage et la capacité de comparaison d'égalité.
Cela est nécessaire pour que la collection puisse stocker efficacement des éléments uniques et effectuer rapidement des opérations de recherche.
Exemple en Swift :
struct Person: Hashable {
let id: Int
let name: String
}
var peopleSet = Set<Person>()
peopleSet.insert(Person(id: 1, name: "Иван"))
Ainsi, tout objet qui implémente Hashable (en Swift) ou les méthodes hash et isEqual: (en Objective-C) peut être un élément de Set.