3

我正在将一些 C++ 代码转录成 ObjC。我正在查看的 operator==() 将其私有成员一一进行比较,并在它们都为真时返回真。

ObjC 中 operator==() 的等效实现是什么?

通过浏览,我在 ObjC 中看到:

  • -是平等的
  • -isEqualTo
  • -就好像
  • ==(内置?不可覆盖?)
  • 还有其他我想念的吗?

这些方法的协议是什么?(深度或浅度比较等...?)我应该使用哪一个来替换比较其所有成员的 operator==()?

4

1 回答 1

4

isEqual:可能是您想要覆盖的内容。还要确保hash为两个相等的对象返回相同的值。

没有真正的比较协议。做任何对你的班级有意义的事情。如果您要比较您的所有成员,operator==()那将是深度比较,是的,使用isEqual:.

于 2012-10-23T10:01:06.367 回答