2010-02-20 87 views
0

我是新的iphone开发。我排序一个可变数组的日期。但它是排序使用日期参数认为它是string.I想按日期排序它。如何我做到了,请帮助我。按照日期格式排序在iPhone

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"pubDate" ascending:YES]; 
[stories sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]]; 

我可以使用选择器吗?如果是这样,我该如何使用它?。谢谢。

回答

1
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    [dateString appendString:string]; 
}  

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ 
    NSDateFormatter *df = [[[NSDateFormatter alloc] init]autorelease]; 
    [df setDateFormat:@"dd.MM.yyyy"]; //change the format if you are using it in different way 
    NSDate *myDate = [df dateFromString: dateString]; 
    [dateArray addObject:myDate]; 
} 

之后,您可以使用您所写的方式对数组进行排序。

+0

我得到这种错误终止应用程序,由于未捕获的异常'NSInvalidArgumentException',原因:'*** - [__ NSCFDate长度]:无法识别的选择器发送到实例0x4c737b0' – Warrior 2010-02-20 15:58:20

+0

日期值来自xml格式? – EEE 2010-02-20 16:02:30

+0

谢谢,它真的很有用 – Warrior 2010-02-20 17:31:49

0

数组NSStrings或NSDates中的对象的pubDate属性是什么?我使用NSDates的对象数组上的确切代码,它的工作原理非常好。如果您使用的是NSString,那么您首先需要将它们转换为日期对象,以便您可以按日期进行正确排序。

+0

我该如何将对象添加为nsdates.This日期是xml解析contents.IN发现字符方法我如何追加它作为日期? – Warrior 2010-02-20 15:24:04