我正在做一些小的工作,在NSMutableArray中排序日期字符串,我從sqlite數據庫中獲取數組。 如果打印它顯示像這樣如何排序日期對象的NSMutableArray
日期字符串數組是( 「2011-05-01」, 「2011-02-01」, 「2012-01-08」, 「2012- 05-08" , 「2010-01-09 )
我想表明按升序日期。請幫我傢伙.....我是新手,objc ..
我正在做一些小的工作,在NSMutableArray中排序日期字符串,我從sqlite數據庫中獲取數組。 如果打印它顯示像這樣如何排序日期對象的NSMutableArray
日期字符串數組是( 「2011-05-01」, 「2011-02-01」, 「2012-01-08」, 「2012- 05-08" , 「2010-01-09 )
我想表明按升序日期。請幫我傢伙.....我是新手,objc ..
首先,您應該將所有日期字符串(它是NSString
)對象轉換爲NSDate
對象,然後對這些對象進行排序dateObjects
。
我相信你有dateArray
包含所有這些字符串。
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"self"
ascending:NO];
NSArray *descriptors = [NSArray arrayWithObject:descriptor];
NSArray *reverseOrder = [dateArray sortedArrayUsingDescriptors:descriptors];
OR
NSArray *reverseOrderUsingComparator = [dateArray sortedArrayUsingComparator:
^(id obj1, id obj2) {
return [obj2 compare:obj1];
}];
如果你的日期格式YYYY-mm-dd
真正的字符串,如你的問題,那麼這將在升序進行排序:
[arrayOfDates sortUsingSelector:@selector(compare:)];
那如果你的日期實際上是NSDate
對象,也將工作。
如果你想創建數組排序的副本:
NSArray *sortedArray = [arrayOfDates sortedArrayUsingSelector:@selector(compare:)];
排序應該做的,海事組織,由數據庫,在一般。 sqlite3支持order by。
他在他的問題中顯示的日期格式甚至可以作爲字符串正確排序。 –
這是不必要的,他可以按照現在的順序排列字符串。 – TheAmateurProgrammer
可以請你喜歡的代碼,如果可能的話...... – Joker