2010-02-20 73 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