Sobes.tech
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.