Junior — Middle
W jakich przypadkach stosuje się protokół Equatable w Swift?
sobes.tech AI
Odpowiedź od AI
Protokół Equatable w Swift jest stosowany, gdy trzeba określić, jak porównywać dwa egzemplarze typu pod kątem równości.
Jeśli Twój typ jest zgodny z Equatable, musisz zaimplementować metodę ==, która zwraca true, jeśli dwa obiekty są uważane za równe, i false w przeciwnym razie.
Jest to przydatne do porównywania wartości, na przykład podczas sprawdzania zmian, filtrowania lub używania w kolekcjach, gdzie ważne jest określenie unikalności elementów.
Przykład:
struct User: Equatable {
let id: Int
let name: String
static func == (lhs: User, rhs: User) -> Bool {
return lhs.id == rhs.id && lhs.name == rhs.name
}
}
Od Swift 4.1, kompilator może automatycznie generować implementację Equatable dla struktur i wyliczeń, jeśli wszystkie ich właściwości również są Equatable.