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