Jok*_*ker 5 iphone objective-c nsdate nssortdescriptor ios
我正在做一些关于在NSMutableArray中排序日期字符串的小工作,我从sqlite db获取数组.如果您打印阵列,它将显示如下
日期字符串为("2011-05-01","2011-02-01","2012-01-08","2012-05-08","2010-01-09)
我想按升序显示日期.请帮帮我们......我是objc的新手..
Ano*_*dya 22
首先,您应该将所有日期字符串(即NSString)对象转换为NSDate对象,然后对这些对象进行排序dateObjects.
我相信你已经dateArray包含了所有这些字符串.
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"self"
ascending:NO];
NSArray *descriptors = [NSArray arrayWithObject:descriptor];
NSArray *reverseOrder = [dateArray sortedArrayUsingDescriptors:descriptors];
Run Code Online (Sandbox Code Playgroud)
要么
NSArray *reverseOrderUsingComparator = [dateArray sortedArrayUsingComparator:
^(id obj1, id obj2) {
return [obj2 compare:obj1];
}];
Run Code Online (Sandbox Code Playgroud)
如果您的日期确实是格式中的字符串YYYY-mm-dd,如问题所示,那么这将按升序对它们进行排序:
[arrayOfDates sortUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)
如果您的日期实际上是NSDate对象,那也将有效.
如果要创建数组的排序副本:
NSArray *sortedArray = [arrayOfDates sortedArrayUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12200 次 |
| 最近记录: |