在objective-c中按字母顺序排序数组

lak*_*esh 1 cocoa-touch objective-c ios

我想在objective-c中按字母顺序对数组进行排序.我已经用这种方式实现了它.

//Sorting of the Array
NSArray *sortedArray = [arrName sortedArrayUsingComparator:^(Cars *firstObject, Cars *secondObject) {
    return [firstObject.str_name compare:secondObject.str_name];
}];
arrName =[NSMutableArray arrayWithArray:sortedArray];
Run Code Online (Sandbox Code Playgroud)

问题是所有数字出现后跟字母字母后跟小写字母项目......

我希望它按字母顺序显示 - >意思是说大写字母和小写字母可能是混合的.

rma*_*ddy 14

替换compare:caseInsensitiveCompare:.

由于arrName是可变的,请使用'sortUsingComparator'方法.它将在不创建新数组的情况下对可变数组进行排序.

[arrName sortUsingComparator:^(Cars *firstObject, Cars *secondObject) {
    return [firstObject.str_name caseInsensitiveCompare:secondObject.str_name];
}];
Run Code Online (Sandbox Code Playgroud)