Junior — Middle
Quelles étapes doivent être suivies pour implémenter la conformité de la structure au protocole Equatable en Swift?
sobes.tech IA
Réponse de l'IA
Pour qu'une structure en Swift soit conforme au protocole Equatable, il faut :
- Déclarer la conformité au protocole dans la déclaration de la structure.
- Implémenter la fonction
==, qui compare deux instances de la structure pour l'égalité.
Depuis Swift 4.1, le compilateur peut générer automatiquement l'implémentation de == pour les structures si toutes leurs propriétés sont également conformes à Equatable.
Exemple :
struct Point: Equatable {
var x: Int
var y: Int
}
// Implémentation générée automatiquement :
// static func == (lhs: Point, rhs: Point) -> Bool {
// return lhs.x == rhs.x && lhs.y == rhs.y
// }
let p1 = Point(x: 1, y: 2)
let p2 = Point(x: 1, y: 2)
print(p1 == p2) // true
Si une comparaison personnalisée est nécessaire, l'opérateur peut être implémenté manuellement :
struct Person: Equatable {
var name: String
var age: Int
static func == (lhs: Person, rhs: Person) -> Bool {
return lhs.name.lowercased() == rhs.name.lowercased() && lhs.age == rhs.age
}
}