Sobes.tech
Junior — Middle

В кои случаи се прилага протоколът Equatable в Swift?

sobes.tech AI

Отговор от AI

Протоколът Equatable в Swift се прилага, когато трябва да определите как да сравнявате два екземпляра от тип за равенство.

Ако вашият тип съответства на Equatable, трябва да реализирате метода ==, който връща true, ако двата обекта се считат за равни, и false — ако не.

Това е полезно за сравняване на стойности, например при проверка за промени, филтриране или използване в колекции, където е важно да се определи уникалността на елементите.

Пример:

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
    }
}

От Swift 4.1 нататък компилаторът може автоматично да генерира реализация на Equatable за структури и изброявания, ако всички техни свойства също са Equatable.