我有一个NSMutableArray of Strings。数组中的字符串,从日期转换为字符串,我需要对它们进行排序并在tableview中显示它们。
我需要:
2011年6月24日 2011年6月26日 2011年7月1日
等等。
我知道有类似的问题已被问到,但我没有得到它的工作。如果有人可以帮助我,我真的很感激!
答案 0 :(得分:4)
在它们仍然是日期时对它们进行排序,将它们保存为日期的排序列表,并且只将它们格式化为显示所需的文本(即,在-tableView:cellForIndexPath:
期间)。
或者,ISO 8601日期格式(示例格式化日期为20110603T1345.123-4)大多按字典顺序排序,与日期相同。不同时区的时间或跨越夏令时的时间可以使这个属性无效,所以将日期留作日期仍然是您最好的选择。
答案 1 :(得分:0)
简单的方法是创建表单
的功能NSInteger funcName(id left, id right, void* extra);
然后你可以使用NSMutableArray的sortUsingFunction:context:
传递你的比较函数.Jeremy说明日期更容易排序是正确的,它们内置了比较函数:
– isEqualToDate:
– earlierDate:
– laterDate:
– compare:
有关排序信息,请参阅NSMutableArray;有关其比较方法,请参阅NSDate
答案 2 :(得分:0)
您的NSMuatbleArray
必须拥有NSDate
个对象。
首先,您需要使用-[NSMutableArray sortUsingSelector:]
对数组进行排序,并且需要传递 @selector(compare :) 。
compare:
的{{1}}函数将为您完成工作,并按升序对数组进行排序。
完成上述操作后,您只需拨打NSDate
的{{1}}功能。