如何按时间间隔而不是一天中的时间对NSArray进行排序?

时间:2011-09-08 04:08:07

标签: sorting time nsstring nsarray

有没有办法对比赛的完成时间进行排序?我有一个带有NSStrings字典的NSArray,其中一个值是作为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 个答案:

答案 0 :(得分:1)

字符串“raceTime”只是字符串,它们不代表时间。如果要比较这些,需要将这些字符串转换为NSData的实例,然后进行排序。您可以使用NSSortDescriptor并使用选择器对其进行初始化,该选择器将执行转换并返回相应的顺序。