我正在将一些C ++代码转录到ObjC中。我正在查看的运算符==()逐个比较其私有成员,如果它们都是真的则返回true。
ObjC中operator ==()的等效实现是什么?
从浏览开始,我在ObjC中看到了:
这些方法的协议是什么? (深度或浅度比较......等等)我应该使用哪一个来替换比较其所有成员的运算符==()?
答案 0 :(得分:4)
isEqual:
可能是您要覆盖的内容。还要确保hash
为两个相等的对象返回相同的值。
没有真正的比较协议。做任何对你的班级有意义的事情。如果您要比较operator==()
中的所有成员,那么这将是深度比较,是的,请使用isEqual:
。