Разница между isEqualTo: и isEqual: - PullRequest
41 голосов
/ 17 августа 2011

В чем разница между этими методами?

Ответы [ 2 ]

38 голосов
/ 17 августа 2011

isEqual: является частью протокола NSObject и предназначен для сравнения объектов.

isEqualTo: является частью инфраструктуры поддержки AppleScript Какао (в частности, NSComparisonMethods , которая позволяет AppleScript сравнивать объекты Какао). Обычно это то же самое, что и isEqual:, но его можно переопределить, если вы хотите, чтобы равенство работало по-разному как внутри, так и в скрипте.

6 голосов
/ 17 августа 2011

isEqualTo: является частью неформального протокола NSComparisonMethods , который также содержит такие методы, как isGreaterThan: и isNotEqualTo:, и используется для поддержки сценариев.И:

Реализация по умолчанию для этого метода, предоставляемого NSObject, возвращает YES, если сообщение isEqualTo:, отправленное тому же объекту, возвращает YES.

Так, при отправке этого сообщениядля объекта NSO (или любого подкласса, который его не переопределяет) вы получите то же поведение, что и isEqual:, однако вместо этого вам следует использовать isEqual:.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...