我有一本有許多道具的字典。我希望按日期順序升序。我的日期格式是:10-Jun-2015 09:27:11如何獲得按日期遞增的訂單項目?
我試過這段代碼,但沒有工作:aux是帶有日期組件的數組。
for (int i=0; i<aux.count-1; i++) {
for (int j=i+1; j<aux.count; j++) {
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
NSDate *date1 = [dateFormat dateFromString:[aux objectAtIndex:i]];
NSDate *date2 = [dateFormat dateFromString:[aux objectAtIndex:j]];
NSComparisonResult comparisonResult = [date1 compare:date2];
if (comparisonResult==-1) {
NSString *var= [aux objectAtIndex:i];
[aux replaceObjectAtIndex:i withObject:[aux objectAtIndex:j]];
[aux replaceObjectAtIndex:j withObject:var];
}
}
}
我想比較兩個日期(date1,date2)。如果date2比date1更大,我想交換。交換我想手動,所以:如果date2更大,我想從方法只採取true
或1
。
您正在使用冒泡排序,這非常慢。使用適當的Cocoa方法。你還創建了約數^ 2/2的NSDateFormatters,這又非常慢。和「但沒有工作」:你是什麼意思? – gnasher729
我不能使用可可方法。如果我使用可可方法,他只排列日期組件,但我需要按日期排序所有字典項目。所以我需要知道變化的位置 –
字典是**無序**。您可以對數組進行排序,但不能對字典進行排序。 – johnpatrickmorgan