Sobes.tech
Junior — Middle

In quali casi si applica il protocollo Equatable in Swift?

sobes.tech AI

Risposta dell'AI

Il protocollo Equatable in Swift viene applicato quando è necessario definire come confrontare due istanze di un tipo per determinarne l'uguaglianza.

Se il tuo tipo è conforme a Equatable, devi implementare il metodo ==, che restituisce true se due oggetti sono considerati uguali, e false altrimenti.

Questo è utile per confrontare valori, ad esempio, durante il controllo delle modifiche, il filtraggio o l'uso in collezioni dove è importante determinare l'unicità degli elementi.

Esempio:

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

A partire da Swift 4.1, il compilatore può generare automaticamente l'implementazione di Equatable per strutture ed enumerazioni, purché tutte le loro proprietà siano anch'esse Equatable.