views:

360

answers:

3

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.

A: 

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.

mjdth
How can i add the object as nsdates.This dates are xml parsed contents.IN found character method how can i append it as a date?
Warrior
+1  A: 
-(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.

EEE
I am getting this sort of error Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFDate length]: unrecognized selector sent to instance 0x4c737b0'
Warrior
in which format date values comes from xml?
EEE
Thanks , it was really working
Warrior
A: 

Initially date as string , but after that why we want to covert XML ? Could you give me the whole pice if code for sort by date.

izjack