我想对这个NSStrings数组进行排序:
"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"但我一直收到以下代码的错误:
NSArray* sortedArray = [currentViews sortedArrayUsingSelector:@selector(compare:NSNumericSearch)];甚至不确定这是否是正确的方法,看着NSArray文档让我觉得我应该使用一个比较器。任何帮助都将不胜感激。
发布于 2012-03-07 01:32:03
您确实需要一个比较器,因为您尝试排序的实际上是一个NSString,而不是一个NSNumber。
发布于 2012-03-07 06:06:55
您不能修复@selector中的参数- @selector(compare:NSNumericSearch)正在查找方法compare:NSNumericSearch,但该方法并不存在!
您可以使用比较器来调用正确的比较方法:
NSArray *sortedArray = [currentViews sortedArrayUsingComparator:(NSComparator)^(NSString *a, NSString *b)
{
return [a compare:b options:NSNumericSearch];
}
];https://stackoverflow.com/questions/9588840
复制相似问题