Итак, у меня есть 2 массива, один из которых у меня из моего локального db sqlite, а другой - с сервера.Сравнение значений NSArray
Когда я пытаюсь использовать isEqualToArray: я получу NO, даже если они похожи. Эта статья NSHipster http://nshipster.com/equality/ сказала мне, что это потому, что они сравнивают идентичность в памяти ..? Так что мне нужно каким-то образом сравнить значения?
Вся помощь будет оценена, я долго смотрел на нее слепо.
Так у меня есть 2 массивы:
NSArray *arr1 = [[NSArray alloc] initWithObjects:@"1",@"Hello",@"member",@"Janus", nil];
NSArray *arr2 = [[NSArray alloc] initWithObjects:@"1",@"Hello",@"member",@"Janus", nil];
Когда я распечатать их, они выглядят точно так же, когда я бегу NSSet на них, как Пабло предположить, я не получаю спичкой либо при запуске isEqualToArray
на массивах напрямую. Они в порядке, и они всегда одного и того же числа, они идентичны, но код не распознает его.
Не вдаваясь в кодирование, подумайте о том, как вы хотите определить «равный». Являются ли они равными, если они содержат равные объекты? Означает ли порядок? В зависимости от типа объектов вы можете принять одно и то же решение о равенстве объектов. –
Два массива равны, только если они содержат равные объекты в одном порядке. Это правда в вашем случае? Какие объекты находятся в массивах? – rmaddy
Да, извините, я не стал вдаваться в подробности. Я обновил вопрос. – 4FunAndProfit