У меня есть приложение iOS, которое загружает некоторые данные с сервера. Данные включают в себя три основных сегмента: имя (строка), адрес (строка) и расстояние (поплавок).Сортировка нескольких NSArray в одно и то же время - iOS
Указанные данные хранятся в трех простых NSArray
. Однако я хотел бы отсортировать данные, чтобы результаты были показаны в следующем формате: Наименьшее расстояние сначала -> максимальное расстояние.
Я использую метод Apple sortedArrayUsingComparator
для сортировки расстояния. Однако у меня есть одна проблема ... как я могу выполнять те же действия сортировки на двух других NSArray
, чтобы данные отображались правильно?
Это то, что я пытался до сих пор:
NSArray *nameData = // string data.....
NSArray *addressData = // string data.....
NSArray *distanceData = // float data.....
distanceData = [distanceData sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
if ([obj1 floatValue] > [obj2 floatValue]) {
return NSOrderedDescending;
}
else if ([obj1 floatValue] < [obj2 floatValue]) {
return NSOrderedAscending;
}
return NSOrderedSame;
}];
Как вы можете видеть, приведенный выше код будет сортировать «distanceData» массив и тот большой, но если я только сортировать массив расстояние, то другие два массива не будут в правильном порядке. Итак, как я могу отсортировать два других массива?
Спасибо за ваше время, Дэн.
Вы пробовали объект класса? –
В соответствии с моим пониманием вашего вопроса вы можете создать 3 разных NSThread для сортировки NSArray параллельно. – nikhil84