I have two objects for the same struct class having different values. I need to compare these two objects whether they are equal or not. Please guide me through a proper solution.
struct CustomerInfo {
var billAddressCity: String?
init(a:String?){
billAddressCity = a
}
}
/* init object */
var obj1 = CustomerInfo?
var obj2 = CustomerInfo?
obj1 = CustomerInfo(a: "ONE")
obj2 = CustomerInfo(a: "TWO")
/* I need to compare these two objects */
if obj1 == obj2 {
Print(equal values)
}
This is not the answer Iam looking for, as it says i need to compare each and every values of fields manually, Compare two instances of an object in Swift
By conforming to
Equatable
:In the Object Oriented World, generally, all Objects are unique to each other.
So, how I could compare two objects?
Your struct/class need to implement the
Equatable
Protocol which let you define how an object could be equal to another object of the same class/structLet's begin with this House struct:
With the
Equatable
protocol you can implement thestatic func ==
. Here you can define how two object of the same class could be equal when you use the operator==
.In my example, two objects of the struct House could be equal when they have the same street: