通过NSDate属性对对象数组进行排序

可能重复:
如何使用自定义对象对NSMutableArray进行排序?

如何通过访问NSDate属性来排序对象数组?

我知道可以使用[mutableArray sortUsingSelector:@selector(compare:)]; 在日期数组上,但是如何通过访问数组中每个元素的NSDate属性,按照最早日期到最近日期对对象进行排序?


感谢所有的答案,我遇到了这个答案,解决了我的问题。检查NSGod的答案

这里是代码感谢用户:NSGod:

NSSortDescriptor *dateDescriptor = [NSSortDescriptor
                                 sortDescriptorWithKey:@"startDateTime" 
                                             ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:dateDescriptor];
NSArray *sortedEventArray = [nodeEventArray
     sortedArrayUsingDescriptors:sortDescriptors];

    NSSortDescriptor* sortByDate = [NSSortDescriptor sortDescriptorWithKey:@"nsdatepropertyname" ascending:YES];
    [mutableArray sortUsingDescriptors:[NSArray arrayWithObject:sortByDate]];

您可以使用:

   NSArray *sortedArray = [mutableArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
        NSDate *first = [(Person*)a birthDate];
        NSDate *second = [(Person*)b birthDate];
        return [first compare:second];
    }];

或者看到这个链接

链接地址: http://www.djcxy.com/p/70807.html

上一篇: Sort array of objects by their NSDate property

下一篇: Issue with Radix MSD Sorting Algorithm