-1

i have date string in form of "yyyy-MM-dd HH:mm" i have some 100 obhjects in an array with different date and time.now my question is how to sort this array based on time and date, i tried in many ways but no use .can any one help me .thanks in advance

  • 1
    http://stackoverflow.com/questions/28711360/how-to-sort-the-array-that-contains-date-in-strings-in-ascending-order------ or --------- http://stackoverflow.com/questions/1132806/sort-nsarray-of-date-strings-or-objects.. – Er.Shreyansh Shah Feb 25 '15 at 05:24
  • Check out the NSDate [comp](http://stackoverflow.com/questions/9781467/nsdate-comparing-two-dates) method – nikhil84 Feb 25 '15 at 05:25
  • Do you mean you have dates in string format? Or do you mean you have NSDate objects? – David Berry Feb 25 '15 at 07:11

2 Answers2

0

used this method for sort an array.

NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"date" ascending:NO];
NSArray *sortedArray = [detailsArray sortArrayUsingDescriptors:@[sortDescriptor]];

May be help for you

SGDev
  • 2,256
  • 2
  • 13
  • 29
0

If you have an array of strings, take advantage of your date format and just sort it lexically.

NSArray* sorted = [dates sortedArrayUsingComparator:^(NSString* a, NSString* b) {
    return [a compare:b];
}];

If you actually have an array of NSDate objects, use the NSDate compare functions, using almost identical code (compare: works to compare two homogenous data types in many cases)

NSArray* sorted = [dates sortedArrayUsingComparator:(NSDate* a, NSDate* b) {
    return [a compare:b];
}];

With the simplicity of the comparator, you can actually just use the selector directly:

NSArray* sorted = [dates sortedArrayUsingSelector:@selector(compare:)];
David Berry
  • 40,941
  • 12
  • 84
  • 95