“在Cocoa和Objective C中使用Swift”使得它非常清晰,您应该为从NSObject继承的事物定义isEquals,但在此之后,我不确定何时需要编写它。它说:什么时候编写isEqual在Swift中有意义?
“因为您可以将Swift对象(包括非NSObject派生的对象)传递给Objective-C API,所以如果您希望Objective-C API比较内容,您应该为这些类实现isEqual:方法的对象而不是他们的身份。“
但是,我们如何知道Cocoa API何时会使用isEquals方法?
比较泛型时,Cocoa API将始终使用isEqual方法。例如:将'NSString'子类与'id'比较将使用isEqual。 –