从字典数组中获取具有最新日期的字典

时间:2014-04-21 08:44:15

标签: ios nsarray nsdate nsdictionary

我有一系列词典。这些词典的格式如下:

NSDictionary *oneDict = @{
              @"code": @"123"
              @"name": @"car"
              @"date": creationDate
}

这些词典存储在NSArray中。

我需要从该数组中提取具有最新日期的字典。

我可以通过这样做来发现最近的日期:

NSArray *extractDates = [array objectForKey:@"date"];
NSArray sortedDates = [extractDates sortedArrayUsingSelector:@selector(compare:)];
NSDate *mostRecentDate = (NSDate *)[sortedDates lastObject];

现在我知道了,我可以在数组上进行交互并查找该日期,因此我可以获取字典,但我想知道Objective-C是否有某种机制可以直接执行此操作。

1 个答案:

答案 0 :(得分:1)

试试这个,

NSSortDescriptor *dateDescriptor = [NSSortDescriptor
                                     sortDescriptorWithKey:@"date" 
                                                 ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
NSArray *sortedArray = [array
         sortedArrayUsingDescriptors:sortDescriptors];

NSDictionary *dict = (NSDictionary *)[sortedArray lastObject];