31

大文字と小文字を区別せずにアルファベット順に並べ替えて結果を取得する方法を知っている人はいますか?

4

4 に答える 4

78

返信ありがとうございますが、大文字と小文字を区別しない単純な「クエリ」の結果を並べ替える必要があります。あなたの提案は検索と比較に適用されます。

SQLについて言えば、が必要ですORDER BY firstName ASC。このコマンドでは、使用法で大文字と小文字を区別しない必要があります。

グーグルを実行し、 NSSortDescriptorクラスのリファレンスを読み終えたところ、質問に対する答えを見つけることができました。解決策は、次のようにセレクターをソート記述子に設定することです。

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(caseInsensitiveCompare:)];

もっと多くの人に役立つことを願っています。

于 2010-01-07T13:21:24.400 に答える
10

アプリが複数の言語にローカライズされている場合は、localizedCaseInsensitiveCompare:代わりにセレクターを使用することを検討してくださいcaseInsensitiveCompare。文字「é」が文字「e」の後にあることを避ける効果があります。

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
于 2012-09-18T10:51:24.523 に答える
5

NSPredicate プログラミング ガイドを確認してください。ただし、基本的には [c] を使用して大文字と小文字を区別しません。

@"firstName BEGINSWITH[c] $FIRST_NAME"
于 2010-01-06T13:37:46.523 に答える