按对象值排序NSMutableArray

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

在这里,我使用int属性newsID对包含NewsData对象的NSMutableArray newsDataArray进行排序。 现在正在工作。 但我怎么能以更好的方式做到这一点。 有没有更好的方法...

NSSortDescriptor *sortDesc = [[NSSortDescriptor alloc] initWithKey:@"newsID" ascending:NO];
NSArray *tempArray = [newsDataArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDesc]];
NSMutableArray *sortedArray = [NSMutableArray arrayWithArray:tempArray];
NSLog(@"sortedArray=%@" ,sortedArray);

当我使用以下方法阻止某些错误显示时。 我想排序newsDataArray作为我的最终结果....任何人都给我一个明确的例子...


有几种方法,在这里通过使用比较器

对于NSArray - >新的Array对象:

array = [array sortedArrayUsingComparator: ^(id a, id b) {
    return [a.newsTitle compare:b.newsTitle]
}

对于NSMutableArray - > in place:

[array sortUsingComparator: ^(id a, id b) {
    return [a.newsTitle compare:b.newsTitle]
}];

按标量排序:

[array sortUsingComparator: ^(id a, id b) {
    if ( a.newsID < b.newsID) {
        return (NSComparisonResult)NSOrderedAscending;
    } else if ( a.newsID > b.newsID) {
        return (NSComparisonResult)NSOrderedDescending;
    } 
    return (NSComparisonResult)NSOrderedSame;
}];
链接地址: http://www.djcxy.com/p/70811.html

上一篇: Sort a NSMutableArray by Object values

下一篇: Sort array of NSDictionaries by a value inside one of the keys