gpt4 book ai didi

ios - 如何按日期对 nsmutabledictionary 进行排序

转载 作者:行者123 更新时间:2023-11-28 22:40:44 25 4
gpt4 key购买 nike

我有一个 JSON 返回的 NSMutabledictionary,其中包含以下内容

OdometerStart = "9 miles";
Size = 40;
StartTime = "01-30-2013 2:30 PM";
Tractor = T04;

OdometerStart = "668 miles";
Size = 40;
StartTime = "01-30-2013 2:23 PM";
Tractor = T04;

我需要按 StartTime 对其进行排序,有没有办法对其进行排序?谢谢。

最佳答案

排序的方法有很多种。这是一个:

NSMutableDictionary *dict; //dictionary to be sorted

NSArray *sortedKeys = [dict keysSortedByValueUsingComparator: ^(id obj1, id obj2) {
//get the key value.
NSString *s1 = [obj1 objectForKey:@"StartTime"];
NSString *s2 = [obj2 objectForKey:@"StartTime"];

//Convert NSString to NSDate:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//Set the AM and PM symbols
[dateFormatter setAMSymbol:@"AM"];
[dateFormatter setPMSymbol:@"PM"];
//Specify only 1 M for month, 1 d for day and 1 h for hour
[dateFormatter setDateFormat:@"M/d/yyyy h:mm:ss a"];
NSDate *d1 = [dateFormatter dateFromString:s1];
NSDate *d2 = [dateFormatter dateFromString:s2];
[dataFormatter release];

if ([d1 compare:d2] == NSOrderedAscending)
return (NSComparisonResult)NSOrderedAscending;
if ([d1 compare:d2] == NSOrderedDescending)
return (NSComparisonResult)NSOrderedDescending;
return (NSComparisonResult)NSOrderedSame;
}];
NSArray *sortedValues = [[dict allValues] sortedArrayUsingSelector:@selector(compare:)];

查看苹果文档: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Collections/Articles/Dictionaries.html

排序描述符苹果文档在这里: https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/SortDescriptors/Articles/Creating.html

关于ios - 如何按日期对 nsmutabledictionary 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com