2011-09-08 52 views
0

有沒有一種方法可以對比賽的完成時間進行排序?我有一個帶有NSString字典的NSArray,其中一個值是作爲NSString的比賽結束時間。只要它們具有相同的整數數量,它們就會正確地排序,如下所示:54.13,54.32,54.52 ...但當其中一個更長時,例如:1:13.42 - 它將它放在頂部列表。我應該如何排序,以便較慢的時間位於列表的最底部。以下是我目前有:如何按時間間隔而不是一天的時間對NSArray進行排序?

NSSortDescriptor * sortByTime2 = [[NSSortDescriptor alloc] initWithKey:@"raceTime" ascending:YES]; 
NSArray * descriptors2 = [NSArray arrayWithObject:sortByTime2]; 
myArray = [myArray sortedArrayUsingDescriptors:descriptors2];  

感謝,

[R

回答

1

字符串 「raceTime」 只是單純的字符串,他們並不代表時間。當你想比較這些,你需要將這些字符串轉換爲NSData的實例,然後進行排序。您可以使用NSSortDescriptor並使用選擇器進行初始化,該選擇器將執行轉換並返回適當的順序。