Sort a NSMutableArray by Object values
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How to sort an NSMutableArray with custom objects in it?
在这里,我将使用int属性newsid对包含newsdata对象的nsmutableArray newsdataArray进行排序。现在可以了。但我怎样才能更好地做到这一点呢?有没有更好的方法…
1 2 3 4 | 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->new array对象:
1 2 3 | array = [array sortedArrayUsingComparator: ^(id a, id b) { return [a.newsTitle compare:b.newsTitle] } |
对于NSmutableArray->就地:
1 2 3 | [array sortUsingComparator: ^(id a, id b) { return [a.newsTitle compare:b.newsTitle] }]; |
按标量排序:
1 2 3 4 5 6 7 8 | [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; }]; |