«Использование Swift с Cocoa и Objective C» позволяет вам четко определить isEquals для вещей, которые наследуются от NSObject, но после этого я не уверен, когда мне нужно его написать. В нем написано:Когда написано isEqual имеет смысл в Swift?
«Поскольку вы можете передавать объекты Swift (в том числе не связанные с NSObject) в API Objective-C, вам следует реализовать метод isEqual: для этих классов, если вы хотите, чтобы API-интерфейсы Objective-C сравнивали содержимое объектов, а не их идентификаторов ».
Но как мы узнаем, когда API-интерфейсы Cocoa будут использовать метод isEquals?
API-интерфейс Cocoa всегда будет использовать метод isEqual при сравнении дженериков. Пример: сравнение подкласса 'NSString' с' id' будет использовать isEqual. –