首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSArray排序:

NSArray排序:
EN

Stack Overflow用户
提问于 2012-03-07 01:30:45
回答 2查看 288关注 0票数 0

我想对这个NSStrings数组进行排序:

代码语言:javascript
复制
"Page_1",
"Page_10",
"Page_11",
"Page_12",
"Page_13",
"Page_14",
"Page_15",
"Page_16",
"Page_17",
"Page_18",
"Page_19",
"Page_2",
"Page_20",
"Page_21",
"Page_22",
"Page_23",
"Page_24",
"Page_3",
"Page_4",
"Page_5",
"Page_6",
"Page_7",
"Page_8",
"Page_9"

但我一直收到以下代码的错误:

代码语言:javascript
复制
NSArray* sortedArray = [currentViews sortedArrayUsingSelector:@selector(compare:NSNumericSearch)];

甚至不确定这是否是正确的方法,看着NSArray文档让我觉得我应该使用一个比较器。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2012-03-07 01:32:03

您确实需要一个比较器,因为您尝试排序的实际上是一个NSString,而不是一个NSNumber。

票数 2
EN

Stack Overflow用户

发布于 2012-03-07 06:06:55

您不能修复@selector中的参数- @selector(compare:NSNumericSearch)正在查找方法compare:NSNumericSearch,但该方法并不存在!

您可以使用比较器来调用正确的比较方法:

代码语言:javascript
复制
NSArray *sortedArray = [currentViews sortedArrayUsingComparator:(NSComparator)^(NSString *a, NSString *b)
                        {
                           return [a compare:b options:NSNumericSearch];
                        }
                       ];
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9588840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档