我有一个字典数组,其中包含如下图所示的对象:
我遇到的问题是我需要按日期排序数组,例如在第一个对象中我的dueDate大于第二个对象的dueDate,然后我必须交换它们,所以换句话说我需要根据dueDate按升序排序数组中的字典,任何人都有想法吗?我已尝试使用NSpredicate,使用sortDescriptors但它不起作用,这里是我的sortDescriptors代码:
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"dueDate" ascending:YES];
NSSortDescriptor *descriptor2 = [[NSSortDescriptor alloc] initWithKey:@"overDueDate" ascending:YES];
NSArray *descriptors = @[descriptor, descriptor2];
tasksResultArray = [tasksResultArray sortedArrayUsingDescriptors:descriptors];
提前致谢。
答案 0 :(得分:0)
可以更轻松地完成:
arrayOfDictionaries = [arrayOfDictionaries sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
// The logic for comparing dates, and returning the corresponding result
NSDate *date1 = (NSDate *) [(NSDictionary *)obj1 objectForKey:@"dueDate"];
NSDate *date2 = (NSDate *) [(NSDictionary *)obj2 objectForKey:@"dueDate"];
return [date1 compare:date2];
}];