【发布时间】:2014-12-15 12:13:03
【问题描述】:
我想根据日期和月份值对数组进行排序。我正在使用此代码
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对象,因为它们不是按字符串排序的字符串。 -
2015 年你会遇到麻烦。你不需要将日期转换为 NSDate,但你应该使用 yyyy-MM-dd 格式。 “我需要根据当前月份以降序显示响应当前日期”有点难以解析——你能解释得更好吗?
-
当然是@HotLicks,好的,我将使用 YYYY-MM-DD 格式,谢谢。
-
@iOS2340 或者您可以在我的回答中使用代码。这意味着您无需更改任何内容,它适用于任何年、月、日等... :)
标签: ios objective-c arrays sorting