我有一个数组,其中包含日期,但作为NSString.我该如何降序排序?
编辑:我通过调整我的代码使用NSDate结束,因为使用其他方法将不适用于我的情况
解决方法
您可以使用sortedArrayUsingFunction,请考虑以下示例
NSString *str1 = @"03-07-2012"; NSString *str2 = @"01-07-2012"; NSString *str3 = @"02-07-2012"; NSArray *arr = [NSArray arrayWithObjects:str1,str2,str3,nil]; arr = [arr sortedArrayUsingFunction:dateSort context:nil]; //The date sort function NSComparisonResult dateSort(NSString *s1,NSString *s2,void *context) { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"dd-MM-yyyy"]; NSDate *d1 = [formatter dateFromString:s1]; NSDate *d2 = [formatter dateFromString:s2]; return [d1 compare:d2]; // ascending order return [d2 compare:d1]; // descending order }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。