У меня есть массив Place
объектов. Каждый объект Place
имеет свойства name
и code
, обе строки. Каждый объект Place
уже имеет code
, но мне нужно найти свойство name
на сервере. Я получаю обратно 2 массива: один содержит имя, другой коды. Эти массивы упорядочены так, что name
в некотором индексе в nameArray
точно соответствует code
в том же индексе codeArray
.
Я просматривал массив объектов Place
, а затем проверял, совпадает ли свойство code
для этого Place
с текущим индексом в codeArray
. Если это так, я устанавливаю name
этого Place
, используя тот же индекс в nameArray
:
for(int i = 0; i < [placesArray count]; i++)
{
for(int j = 0; j < [codeArray count]; j++) {
if([[[placesArray objectAtIndex:i] code] isEqualToString:[codeArray objectAtIndex:j]]) {
[[placesArray objectAtIndex:i] setName:[nameArray objectAtIndex:j]];
}
}
}
Это работает, но не очень быстро - это может занять 30 секунд с 1000+ местами для прохождения.
Есть ли более быстрый способ?