【发布时间】:2014-05-19 18:35:57
【问题描述】:
我正在尝试根据日期属性对对象的NSArray 进行排序。我要查找的顺序是最近的日期在前,以最早的日期结束。
例如 2014 年 5 月 15 日 2014 年 5 月 12 日 2014 年 2 月 20 日 25/12/2013 2013 年 10 月 11 日
我尝试了许多不同的方法,在“This”线程中的接受答案中看到。
但例如我的订单已关闭
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dateToPay" ascending:YES];
NSArray *orderedArray = [cashFlowItemsArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
self.cashFlowItems = orderedArray;
正在返回:
2014 年 2 月 20 日
2014 年 5 月 12 日
2014 年 5 月 15 日
2013 年 10 月 11 日
2013 年 12 月 25 日
所以年份排序正确,月份和日期错误
非常感谢任何帮助。
【问题讨论】:
-
我假设你的 Date 对象是一个字符串,而不是
NSDate? -
02/20/2014 & 25/12/2013 这里的日期格式是什么? "dd/MM/yyyy" 或 "MM/dd/yyyy" 。在将它们添加到 cashFlowItemsArray 之前,我认为您正在使用两种不同的格式化程序对它们进行格式化。
-
创建 NSDate 对象并按这些对象排序。
-
@pawan 打错字了,格式是 mm/dd/yyyy
-
我刚刚编辑以纠正这些错误
标签: ios objective-c sorting nsarray