我是Objective-c,ios的新手。 我试图按照alfabetic顺序排序一个名为filteredList的NSMutableArray,它包含NSString类型的对象。
所以如果我的可变数组包含:[Mary,Bill,John]我想[Bill,Mary,John]
我做了以下事情:
[filteredList sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
但我没有看到任何变化。我确实阅读并尝试了其他解决方案,例如compare:而不是localizedCaseInsensitiveCompare,但仍然没有。
答案 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:)];