"使用Swift与Cocoa和Objective C"非常清楚你应该为从NSObject继承的东西定义isEquals,但是在那之后,我不确定何时需要编写它。它说:
“因为您可以将Swift对象(包括非NSObject派生的对象)传递给Objective-C API,所以如果希望Objective-C API比较对象的内容,则应该为这些类实现isEqual:方法。而不是他们的身份。“
但是,我们怎么知道Cocoa API何时会使用isEquals方法呢?
答案 0 :(得分:0)
您引用的文档并未建议您尝试猜测Cocoa API是否会使用isEqual:
。您引用的文档表明,只要您将对象传递给Objective-C API,就应该实现此方法。
因此,对于传递给任何Cocoa API的任何对象,您应该实现isEqual:
方法,以防您使用的Cocoa API使用此方法。