Строгий ответ на ваш вопрос «использование -isEqual:
».
if ([array1[i] isEqual:array2[i]]) { ...
Это, если вы пытаетесь выяснить, равны ли два массива, вы делаете это неправильно. Вместо попарного-сравнения на всех элементах, просто спросите, если массивы равны:
if ([array1 isEqual:array2]) { ...
Некоторые классы, такие как NSArray*
, также предоставляют специализированные методы равенства, которые ограничивают тип сравниваемых объекта. Они в основном просто используются для добавления дополнительного семантического значения в ваш код. Если вы хотите использовать его, это будет выглядеть как
if ([array1 isEqualToArray:array2]) { ...
Если вы используете этот стиль, просто помните, что по сравнению объект должен быть действительно правильный класс.