Junior — Middle
In which cases is the Equatable protocol used in Swift?
sobes.tech AI
Answer from AI
The Equatable protocol in Swift is used when you need to define how to compare two instances of a type for equality.
If your type conforms to Equatable, you are required to implement the == method, which returns true if two objects are considered equal, and false otherwise.
This is useful for comparing values, for example, when checking for changes, filtering, or using in collections where it is important to determine the uniqueness of elements.
Example:
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
}
}
In Swift 4.1 and above, the compiler can automatically synthesize the Equatable implementation for structures and enumerations if all their properties also conform to Equatable.