2012-03-06 11 views
0

を:NSArrayのソート:私は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のドキュメントを見ると、私はコンパレータを使うべきだと思っています。どんな助けもありがとう。

答えて

2

ソートしようとしているものが本当にNSStringで、NSNumberではなく、実際にはコンパレータが必要です。

-1

@selectorの内の引数を修正することはできません - @selector(compare:NSNumericSearch)は、方法compare:NSNumericSearchを探していて存在しません!

あなたは正しい方法を比較呼び出すためにコンパレータを使用することができます。

NSArray *sortedArray = [currentViews sortedArrayUsingComparator:(NSComparator)^(NSString *a, NSString *b) 
         { 
          return [a compare:b options:NSNumericSearch]; 
         } 
         ];