Sorting by date format in iphone

2019-08-24 09:33发布

I am new to iphone development.I am sorting a mutable array with respect to date.But it is sorting Using the date parameter consider it as string.I want to sort it by date.How can i achieve that .Please help me out.

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

Can i use selectors? if so how should i use it?.Thanks.

2条回答
Rolldiameter
2楼-- · 2019-08-24 10:13
-(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];
}

after that you can sort the array just using the way you wrote in question.

查看更多
趁早两清
3楼-- · 2019-08-24 10:25

Is the pubDate property of the objects in your array NSStrings or NSDates? I use that exact code on an array of objects with NSDates and it works perfectly fine. If you're using NSStrings you'll want to first convert them to date objects so you can properly sort by date.

查看更多
登录 后发表回答