11
A
回答
37
對於NSArray有不同的排序方法,因爲可能有不同的方法來排序。 NSSortDescriptors是一種通用的方法,就排序中使用哪些鍵,您想要在這些鍵上使用哪些選擇器以及使用的總體順序等方面給予您很多選擇。或者,您可以使用函數或比較器塊你的情況要求,或者如果這對你的特定情況更方便。
要回答你的第一個問題,如果你想今天成爲第一個問題,那麼在昨天之後,是的,那當然是降序。 (假設一個NSArray全NSDates稱爲「dateArray」的):
降序排列,你可以做一些這方面的日期進行排序
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:NO];
NSArray *descriptors = [NSArray arrayWithObject: descriptor];
[descriptor release];
NSArray *reverseOrder = [dateArray sortedArrayUsingDescriptors:descriptors];
或者,如果您正在爲iOS 4以上版本或雪豹+你可以這樣做:
NSArray *reverseOrderUsingComparator = [dateArray sortedArrayUsingComparator:
^(id obj1, id obj2) {
return [obj2 compare:obj1]; // note reversed comparison here
}];
-1
試試這個神奇:
升序排序日期排序排列。
即日期變得越來越晚,或者換句話說,日期是未來的日期。
NSArray ascendingDates = [dates sortedArrayUsingSelector:@selector(compare:)];
排序陣列以降序日期。(什麼問的問題)
即日期早,晚得早,紅棗去到過去或者換一種說法:今天是在索引0,昨日在指數1
NSArray* descendingDates = [[[dates sortedArrayUsingSelector:@selector(compare:)] reverseObjectEnumerator] allObjects];
相關問題
- 1. 排序NSDates的數組swift
- 2. 詞典中的NSDates對字典排序
- 3. 使用排序功能按NSDates對數組排序
- 4. 在NSArray裏面的NSDictionary中排列NSDates?
- 5. 通過NSDate排序包含NSObject的NSMutableArray包含NSDates
- 6. 如何通過重新排序和NSDates NSString的
- 7. 2個NSDates
- 8. 從兩個NSDates
- 9. 比較NSDates
- 10. 如何比較NSdates?
- 11. 比較兩個NSDates
- 12. 計算使用兩個NSDates
- 13. Bucketize CFAbsoluteTimes into round day NSDates
- 14. XCTAssertEqual:如何比較NSDates?
- 15. 比較NSDates在objective-c
- 16. 從plist拉NSDates錯誤
- 17. 不能比較兩個NSDates
- 18. 如何編譯兩個NSDates?
- 19. 比較兩個NSDates在iPhone
- 20. 比較NSDates而不考慮時間
- 21. NSDates列表中的應用內警報
- 22. Swift:檢查兩個NSDates是否相同
- 23. 比較兩個NSDates日,月,年整數
- 24. 比較兩個不同的NSArrays的NSDates
- 25. 獲取所有NSDates BETWEEN startDate和endDate
- 26. 比較兩個NSDates帶來的誤報
- 27. 2個NSDates之間的時間間隔
- 28. 獲取未來的NSDates陣列
- 29. 添加兩次存儲爲NSdates
- 30. 兩個NSDates之間的區別