在对数组进行排序时,得到:1,10,2,3,4,5,6,7,8,9。出了什么问题?
我的代码是:
NSArray *sortedArray = [optionKeys sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
其中optionKeys为:7,3,8,4,9,5,1,6,2,10
我也尝试了CaseInsensitiveCompare:并得到了相同的结果。
答案 0 :(得分:1)
字符串比较将在1之后放置10。您需要使用数字比较函数。这可能有所帮助:How to let the sortedarrayusingselector using integer to sort instead of string
答案 1 :(得分:0)
您正在进行字符串排序而不是数字排序。请参阅this answer。
答案 2 :(得分:0)
查看此answer。您想要进行数字排序而不是字符串排序。