Sobes.tech
Junior — Middle

Aké princípy a požiadavky je potrebné zvážiť pri vytváraní štruktúry alebo triedy, ktorá implementuje protokol Equatable?

sobes.tech AI

Odpoveď od AI

Pri implementácii protokolu Equatable v štruktúre alebo triede je potrebné:

  • Definovať statickú metódu ==, ktorá porovnáva dva inštancie typu a vráti true, ak sú považované za rovné.
  • Porovnať všetky významné vlastnosti, ktoré ovplyvňujú rovnosť objektov.
  • Zabezpečiť, aby porovnanie bolo symetrické, reflexívne a tranzitívne.

Príklad implementácie pre štruktúru:

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

Ak všetky vlastnosti už zodpovedajú Equatable, kompilátor môže automaticky generovať implementáciu.