Сортировать объекты массива по дате в iphone Dev? - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть объекты массива, в каждом объекте у меня разные типы строк в одной строке. Я получаю дату при разборе XML, теперь моя задача состоит в том, чтобы отсортировать все данные по времени (как до даты, так и до текущей даты).потом после даты).У меня две проблемы.

  1. Как отсортировать массив в этой структуре, как объекты массивов, если просто, тогда мне будет легче?
  2. Какую функцию использовать для сортировки по дате?

1 Ответ

3 голосов
/ 28 ноября 2011

Один из нескольких вариантов будет использовать блок компаратора.Вы не предоставили достаточно информации, поэтому я сделал несколько предположений:

  • Строка даты находится в 3-м индексе NSArrays
  • Строка даты выглядит как 31-12-2011

Код

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];

array = [array sortedArrayUsingComparator: ^(id a, id b) {
    NSArray *array1 = (NSArray *)a;
    NSArray *array2 = (NSArray *)b;
    NSDate *date1 = [dateFormatter dateFromString:[array1 objectAtIndex:2]];
    NSDate *date2 = [dateFormatter dateFromString:[array2 objectAtIndex:2]];

    return [date1 compare:date2]
}

Но вы также должны подумать о том, чтобы иметь класс, представляющий данные.
В этом случае вы будете взаимодействовать с необработанным датером и создавать объект.для каждого набора данных поместите его в NSMutableArray и отсортируйте его.похоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...