Sobes.tech
Junior — Middle

Millistel juhtudel kasutatakse Swiftis protokolli Equatable?

sobes.tech AI

Vastus AI-lt

Swiftis rakendub protokoll Equatable, kui on vaja määratleda, kuidas võrrelda kahe tüübi eksemplari võrdlust.

Kui teie tüüp vastab Equatable-le, peate rakendama meetodi ==, mis tagastab true, kui kaks objekti peetakse võrdseteks, ja false — kui mitte.

See on kasulik väärtuste võrdlemiseks, näiteks muudatuste kontrollimisel, filtreerimisel või kogumites kasutamisel, kus on oluline määrata elementide unikaalsus.

Näide:

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

Alates Swift 4.1, võib kompilaator automaatselt genereerida Equatable rakenduse struktuuridele ja enum-idele, kui kõik nende omadused on samuti Equatable.