почему бы не использовать "быстрое перечисление"?
for (id latitude in latitudeArray) {
..
}
, где вы можете заменить id
фактическим типом ваших объектов широты в массиве. Согласно вашим комментариям это будет NSNumber.
Стиль нумерации NSEnumerator работает точно так же. Каждый объект в цикле является одним объектом из массива, массив перечисляется так, что каждый объект, который он содержит, доступен один раз. «Быстрое перечисление» приятнее, потому что оно на самом деле быстрее и концептуально легко увидеть, что происходит - «для всех х в у».
Чтобы отсортировать ваши широты по расстоянию от пользователя для отображения таблицы, вы можете создать изменяемый словарь с ключом из расстояния от пользователя (NSNumber
) и объектом, который является индексом этой широты в вашем latitudeArray
(NSNumber
). Затем используйте allKeys
в этом словаре, чтобы получить массив всех ключей NSNumber, отсортировать его с помощью sortedArrayUsingSelector:@selector(compare:)
и отобразить легко - первая запись в таблице будет получена путем взятия первого ключа в отсортированном массиве и получения его индекса ключи в словаре, а затем использовать этот индекс для получения правильной широты от latitudeArray
.