0

name(NSString) 変数に基づいてカスタム オブジェクトの配列を並べ替えたいと思います。name 変数の末尾には数字を含めることができます。

未分類データ: タンク 1、タンク 2、タンク 10、タンク 32、タンク 3、タンク 11

次のソート記述子を使用しました。

[NSSortDescriptor sortDescriptorWithKey:@"objectName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)]

結果の配列は次のようになります: Tank 1、Tank 10、Tank 11、Tank 2、Tank 3、Tank32

しかし、実際の数値にも基づいて配列を取得する必要があります。つまり、結果の配列は、タンク 1、タンク 2、タンク 3、タンク 10、タンク 11、タンク 32 になるはずです。

これを実現するには、ソート記述子にどのような変更を加える必要がありますか? 誰かがこれについて私を助けてくれますか。

4

1 に答える 1

0

NSArray の場合は、sortedArrayUsingComparator: メソッドを参照してください。配列内のアイテムを比較およびソートするために使用するブロックを提供します。あなたの場合、各文字列の末尾にある数字を抽出して比較することができます。

于 2013-06-17T18:31:10.443 に答える