排序阵列字符串日期目标C
问题描述:
我有字符串的一个NSMutableArray。数组中的字符串从日期转换为字符串,我需要对它们进行排序并在tableview中显示它们。排序阵列字符串日期目标C
我需要:
2011年6月24日 2011年6月26日 2011年7月1日
等。
我知道类似这样被问的问题,但我仍然不会它的工作。所以我会很感激,如果有人可以帮助我!
答
排序他们,而他们仍然日期,他们不断为日期排序列表,并仅在需要显示(即在-tableView:cellForIndexPath:
)格式化文本。
可替换地,ISO 8601的日期的格式(例如一个格式化的日期将是20110603T1345.123-4)大多种类字典顺序相同的,因为它们会为日期。不同时区的时间或跨越夏令时间的时间可能会导致此属性失效,因此,将日期保留为日期仍然是您的最佳选择。
答
简单的方法来做到这一点是建立形式
NSInteger funcName(id left, id right, void* extra);
那么你可以使用的NSMutableArray的sortUsingFunction:context:
通过你的比较函数中的一个函数。杰里米是正确地指出,日期更容易整理,它们有内置的比较功能:
– isEqualToDate:
– earlierDate:
– laterDate:
– compare:
为它的比较方法排序信息和NSDate见NSMutableArray
答
你NSMuatbleArray
必须有NSDate
对象。
首先,您需要使用-[NSMutableArray sortUsingSelector:]
对数组进行排序,并且需要通过@selector(比较:)。
的NSDate
的compare:
功能将做的工作,为您和升序排序的数组..
按照上面的,你只需要调用UITableView
reloadData
功能后。
你的意思是: [myMutableArray ADDOBJECT:日期]; [myMutableArray sortUsingSelector :(比较:)]; ? – Magnus 2011-06-03 14:30:32
@Magnus:是的,你说得对 – Jhaliya 2011-06-03 14:55:13