什么时候在Swift中写入isEqual有意义?

时间:2014-06-15 20:38:35

标签: cocoa swift equality

"使用Swift与Cocoa和Objective C"非常清楚你应该为从NSObject继承的东西定义isEquals,但是在那之后,我不确定何时需要编写它。它说:

“因为您可以将Swift对象(包括非NSObject派生的对象)传递给Objective-C API,所以如果希望Objective-C API比较对象的内容,则应该为这些类实现isEqual:方法。而不是他们的身份。“

但是,我们怎么知道Cocoa API何时会使用isEquals方法呢?

1 个答案:

答案 0 :(得分:0)

您引用的文档并未建议您尝试猜测Cocoa API是否会使用isEqual:。您引用的文档表明,只要您将对象传递给Objective-C API,就应该实现此方法。

因此,对于传递给任何Cocoa API的任何对象,您应该实现isEqual:方法,以防您使用的Cocoa API使用此方法。