Сортировка NSMutableArray по строковому значению даты внутри объекта

Существует NSMutableArray *listOfOrders;

Который состоит из ряда объектов модели.

каждый объект имеет ключевое значение «dateAdded». Я хочу отсортировать listOfOrders по dateAdded в порядке возрастания.

Например, // значения в dictOrder будут разными NSDictionary *dictOrder = @{@"idValue": @"12345", @"OName" : @"Abc", @"dateAdded" : @"2012-05-18 12:03 :00.0" };

NSMutableArray *listOfOrders;
MyClass *class1 = [[MyClass alloc] initWithDict:dictOrder];
[listOfOrders addObject:class1];
[listOfOrders addObject:class2];
[listOfOrders addObject:class3];
[listOfOrders addObject:class4];

я хочу отсортировать объект класса по значению dateAdded. Пожалуйста, обратите внимание: значение dateAdded будет в строковом формате.


person Samir    schedule 21.12.2013    source источник
comment
Я пробовал это. но это не сработало [listOfOrders sortUsingComparator:^(MyClass* dict1,MyClass* dict2) { NSString *dateString1 = [dict1 objectForKey:@dateAdded]; NSString *dateString2 = [dict2 objectForKey:@dateAdded]; NSDate *dateAdded1 = [самостоятельно dateFromDateString:dateString1]; NSDate *dateAdded2 = [самостоятельно dateFromDateString:dateString2]; вернуть [датаДобавлено1 сравнить:датаДобавлено2]; }];   -  person Samir    schedule 24.12.2013
comment
Да, я записал оба значения. Но печатает в том же порядке. Также пробовал этот stackoverflow.com/questions/18195774/   -  person Samir    schedule 27.12.2013


Ответы (1)


Я не нашел решения, которое сортирует объекты в массиве по значению порядка в словаре объектов. Итак, я создал dateAdded типа NSString в MYClass. также назначьте ту же дату valye для dateAdded, которая находится в dictOrder.

теперь он сортирует объекты myclass с помощью метода sortUsingComparator.

person Samir    schedule 07.01.2014