【问题标题】:How to sort an NSArray on time interval instead of time of day?如何按时间间隔而不是一天中的时间对 NSArray 进行排序?
【发布时间】:2011-09-08 04:08:07
【问题描述】:

有没有办法对比赛的完成时间进行排序?我有一个带有 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

【问题讨论】:

    标签: sorting time nsstring nsarray


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-04-18
      • 2020-02-22
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-12
      相关资源
      最近更新 更多