NSString: isEqual по сравнению с isEqualToString

Хотите верьте, хотите нет, моей верой, что, на языке OO, большей части (бизнес-логика) код, который воздействует на данные класса, должен быть в самом классе , является ересь в моей команде.

94
задан TheNeil 23 May 2019 в 17:26
поделиться

3 ответа

isEqual: сравнивает строку с объектом и вернет NO , если объект не является строкой. isEqualToString: работает быстрее, если вы знаете, что оба объекта являются строками, как указано в документации :

Особые соображения

Когда вы знаете, что оба объекта являются строками, этот метод быстрее способ проверки равенства, чем isEqual: .

isEqualTo используется для обеспечения конкретных проверок на равенство. Например; isEqualToArray: проверяет, что массивы содержат равное количество объектов и что объекты с заданным индексом возвращают ДА для теста isEqual: .

103
ответ дан 24 November 2019 в 06:08
поделиться

Кроме того, для написания собственных методов -isEqual: и -isEqualTo : , соглашение разрешает ноль аргументов для -isEqual: и вызвать исключение для нулевых аргументов в -isEqualTo :

16
ответ дан 24 November 2019 в 06:08
поделиться

Мое предположение состоит в том, что он обеспечивает небольшое повышение производительности, так как isEqualToString: не нужно проверять тип переданного.

5
ответ дан 24 November 2019 в 06:08
поделиться