码迷,mamicode.com
首页 > 其他好文 > 详细

OC中==与isEqual

时间:2020-03-04 12:32:27      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:理解   不同   isequal   抽象   对象   一个   很多   ISE   相等   

其实==就是判断两个变量里的值是否相等,OC中也就是判断两个变量中的指针的值是否相等,抽象地理解就是判断两个指针是否指向同一个对象。

当对象的isEqual方法不被重写时,==与isEqual等价,也就是如果两个指针相等,那么它们就指向同一个对象。

如果isEqual方法被重写了,那么这时候==与isEqual就不同了,用isEqual方法判断相等的两个对象就有可能不是同一个对象。

 

一个注意点是重写isEqual方法的话需要同时重写hash方法(hash方法在很多容器的勒类中用到,如NSDictionary等,这个对象做key的时候用来计算哈希值)。

OC中==与isEqual

标签:理解   不同   isequal   抽象   对象   一个   很多   ISE   相等   

原文地址:https://www.cnblogs.com/yibinpan/p/12408663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!