我是Iphone开发人员,我是这项技术的新手。我想对NSMutableArray
进行排序。在此数组的每个索引处,都有一个NSMutableDictionary
。每个字典都有两个字段:名称和日期。我想根据此Date字段对数组进行排序。我的数组如下所示:
(
{
name : raj
date : 20/09/1998
}
{
name : teena
date : 21/06/1987
}
)
我在网上搜索了很多但找不到合适的答案。请帮帮我们。 任何回复都将受到高度赞赏。
答案 0 :(得分:1)
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"date"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
self.sortedArray = [self.originalArray sortedArrayUsingDescriptors:sortDescriptors];
如果你的日期键实际上包含一个日期对象,并且它包含一个字符串形式的日期,那么这应该可以工作,而不是你必须尝试这个...
[resultArray sortUsingComparator:^NSComparisonResult(id a, id b) {
static NSDateFormatter *dateFormatter = nil;
if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"mm/dd/yyyy hh:mm:ss";
}
NSString *date1String = [a valueForKey:@"StartDate"];
NSString *date2String = [b valueForKey:@"StartDate"];
NSDate *date1 = [dateFormatter dateFromString:date1String];
NSDate *date2 = [dateFormatter dateFromString:date2String];
return [date1 compare:date2];
}];