2011-06-03 71 views
1

我有字符串的一个NSMutableArray。数组中的字符串从日期转换为字符串,我需要对它们进行排序并在tableview中显示它们。排序阵列字符串日期目标C

我需要:

2011年6月24日 2011年6月26日 2011年7月1日

等。

我知道类似这样被问的问题,但我仍然不会它的工作。所以我会很感激,如果有人可以帮助我!

回答

4

排序他们,而他们仍然日期,他们不断为日期排序列表,并仅在需要显示(即在-tableView:cellForIndexPath:)格式化文本。

可替换地,ISO 8601的日期的格式(例如一个格式化的日期将是20110603T1345.123-4)大多种类字典顺序相同的,因为它们会为日期。不同时区的时间或跨越夏令时间的时间可能会导致此属性失效,因此,将日期保留为日期仍然是您的最佳选择。

0

简单的方法来做到这一点是建立形式

NSInteger funcName(id left, id right, void* extra); 

那么你可以使用的NSMutableArray的sortUsingFunction:context:通过你的比较函数中的一个函数。杰里米是正确地指出,日期更容易整理,它们有内置的比较功能:

– isEqualToDate: 
– earlierDate: 
– laterDate: 
– compare: 

为它的比较方法排序信息和NSDateNSMutableArray

0

NSMuatbleArray必须有NSDate对象。

首先,您需要使用-[NSMutableArray sortUsingSelector:]对数组进行排序,并且需要通过@selector(比较:)

NSDatecompare:功能将做的工作,为您和升序排序的数组..

按照上面的,你只需要调用UITableViewreloadData功能后。

+0

你的意思是: [myMutableArray ADDOBJECT:日期]; [myMutableArray sortUsingSelector :(比较:)]; ? – Magnus 2011-06-03 14:30:32

+0

@Magnus:是的,你说得对 – Jhaliya 2011-06-03 14:55:13