gpt4 book ai didi

ios - 对数组进行排序,其中包含日期,月份

转载 作者:行者123 更新时间:2023-12-01 17:39:10 29 4
gpt4 key购买 nike

我想根据日期和月份值对数组进行排序。我正在使用此代码

 NSSortDescriptor *descriptor=[[NSSortDescriptor alloc]initWithKey:@"self" ascending:YES];
NSArray *descriptors=[NSArray arrayWithObject:descriptor];
revereseorder=[dateAarray sortedArrayUsingDescriptors:descriptors];
NSLog(@"date order %@",revereseorder);

我得到如下响应:
 date order (
"01-11-2014",
"01-12-2014",
"02-11-2014",
"02-12-2014",
"03-11-2014",
"03-12-2014",
"04-11-2014",
"04-12-2014",
"05-11-2014",
"05-12-2014",
"06-11-2014",
"06-12-2014",
"07-11-2014",
"07-12-2014",
"08-11-2014",
"08-12-2014",
"09-11-2014",
"09-12-2014",
"10-11-2014",
"10-12-2014",
"11-11-2014",
"11-12-2014",
"12-11-2014",
"12-12-2014",
"13-11-2014",
"13-12-2014",
"14-11-2014",
"15-11-2014",
"16-11-2014",
"17-11-2014",
"18-11-2014",
"19-11-2014",
"20-11-2014"

)

但是我需要根据当月的降序显示响应的当前日期。请问我如何解决?谢谢@

最佳答案

如果要对字符串进行正确排序,则需要将其转换为实际的NSDate对象。

您可以使用比较器功能像这样对它们进行排序...

NSArray *dateStringArray = //your array...

NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.dateFormat = @"dd-MM-yyyy";

NSArray *sortedArray = [dateStringArray sortedArrayUsingComparator:^(NSString *string1, NSString *string2) {
NSDate *date1 = [dateFormatter dateFromString:string1];
NSDate *date2 = [dateFormatter dateFromString:string2];

return [date1 compare:date2];
}];

如果要降序,只需将比较器的最后一行更改为...
return [date2 compare:date1];

关于ios - 对数组进行排序,其中包含日期,月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27483834/

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