Подтвердить что ты не робот

Разница между isEqualTo: и isEqual:

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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