其实==就是判断两个变量里的值是否相等,OC中也就是判断两个变量中的指针的值是否相等,抽象地理解就是判断两个指针是否指向同一个对象。
当对象的isEqual方法不被重写时,==与isEqual等价,也就是如果两个指针相等,那么它们就指向同一个对象。
如果isEqual方法被重写了,那么这时候==与isEqual就不同了,用isEqual方法判断相等的两个对象就有可能不是同一个对象。
一个注意点是重写isEqual方法的话需要同时重写hash方法(hash方法在很多容器的勒类中用到,如NSDictionary等,这个对象做key的时候用来计算哈希值)。