Как отсортировать NSArray по временному интервалу, а не по времени суток? - PullRequest
0 голосов
/ 08 сентября 2011

Есть ли способ сортировки по времени финиша гонки? У меня есть NSArray со словарем NSStrings, и одним из значений является время окончания гонки как NSString. Он сортирует их все правильно, если они имеют одинаковое количество целых чисел, например: 54.13, 54.32, 54.52 ... но когда один из них длиннее, например: 1: 13.42 - он ставит его в верх список. Как я должен сортировать это так, чтобы медленное время было внизу списка. Вот что у меня сейчас есть:

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

спасибо,

R

1 Ответ

1 голос
/ 12 сентября 2011

Строки "raceTime" - это просто строки, они не представляют время.Если вы хотите сравнить их, вам нужно преобразовать эти строки в экземпляры NSData, а затем отсортировать.Вы можете использовать NSSortDescriptor и инициализировать его селектором, который выполнит преобразование и вернет соответствующий порядок.

...