私はNSMutableArray
に文字列のリストを持っています。テーブルビューに表示する前にアルファベット順に並べ替える必要があります。どのようにNSMutableArrayの文字列をアルファベット順に並べ替えることができますか?
どうすればいいですか?
私はNSMutableArray
に文字列のリストを持っています。テーブルビューに表示する前にアルファベット順に並べ替える必要があります。どのようにNSMutableArrayの文字列をアルファベット順に並べ替えることができますか?
どうすればいいですか?
はCollections DocumentationにsortedArrayUsingSelector:
とlocalizedCaseInsensitiveCompare:
を使用して、以下のAppleの実施例があります:これは新しいソートされた配列を返すこと
sortedArray = [anArray sortedArrayUsingSelector:
@selector(localizedCaseInsensitiveCompare:)];
注意。あなたの場所であなたのNSMutableArray
をソートしたい場合には、そのように、代わりにsortUsingSelector:
を使用します。
[mutableArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
はここスウィフトの更新された答えです:
助けを借りて、スウィフトに行うことができますソート閉鎖のこれを容易にする方法には、sort
とsorted
があります。
var unsortedArray = [ "H", "ello", "Wo", "rl", "d"]
var sortedArray = unsortedArray.sorted { $0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }
注:ここでsorted
はソートされた配列を返します。 unsortedArray
自体はソートされません。あなたはunsortedArray
自体をソートしたい場合は
、この
オプション:代わりにlocalizedCaseInsensitiveCompare
を使用しての
、これも行うことができます。
stringArray.sort{ $0.lowercaseString < $1.lowercaseString }
あるいは
stringArray.sort{ $0 < $1 }
Iあなたは、これが働いていた私にとっては、大文字と小文字を区別比較
をしたい....
areas = [areas sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
ここのエリアfをすることはNSArray
です。私はそれが誰かを助けることを望む。
昇順を取得するのは簡単です。怒鳴るの手順に従ってください,,,
モデル1:
NSSortDescriptor *sortDesc = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
sortedArray=[yourArray sortedArrayUsingDescriptors:@[sortDesc]];
あなたは大文字小文字を区別しないように並べ替えたい場合は、次のように記述子を設定する必要があります,,
モデル2:
NSSortDescriptor * sortDesc = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)];
sortedArray=[yourArray sortedArrayUsingDescriptors:@[sortDesc]];
ありがとう、 '.lowercaseString'は、オブジェクトをタイトルと比較するときに私の仕事をしました。 'mediaItems = mediaItems.sorted {$ 0.media.title.lowercaseString> $ 1.media.title.lowercaseString}' –