对包含NSString对象的NSMutableArray进行排序

时间:2013-10-29 12:00:02

标签: ios iphone objective-c sorting

我是Objective-c,ios的新手。 我试图按照alfabetic顺序排序一个名为filteredList的NSMutableArray,它包含NSString类型的对象。

所以如果我的可变数组包含:[Mary,Bill,John]我想[Bill,Mary,John]

我做了以下事情:

[filteredList sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 

但我没有看到任何变化。我确实阅读并尝试了其他解决方案,例如compare:而不是localizedCaseInsensitiveCompare,但仍然没有。

3 个答案:

答案 0 :(得分:2)

更新

 NSArray *sortedArray =[unSortedArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];//unSortedArray is NSMutableArray
unSortedArray = [[NSMutableArray alloc]initWithArray:sortedArray];

答案 1 :(得分:0)

我会做类似的事情:

NSArray *sortedArray = [filteredList sortedArrayUsingComparator:^(NSString *str1, NSString *str2) {
    return (NSComparisonResult)[str1 compare:str2];
}];
filteredList = [sortedArray mutableCopy];

答案 2 :(得分:0)

请参阅以下代码: -

filteredList = (NSMutableArray*)[filteredList sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];