nsdictionaryの配列(nsstringではなく)のケースと異なる非感受性フィルターを実行する方法は?

StackOverflow https://stackoverflow.com/questions/2204454

質問

辞書の配列があります。各辞書の @"name"フィールドに特定の文字列が含まれているかどうかを確認して、その配列をフィルタリングしたいと思います。

キャッチは、私が自分のフィルタリングをケースとディクリティックに鈍感にしたいということです。

配列に文字列のみが含まれていた場合、nspredicateを簡単に使用できます。しかし、それはそうではなく、私はnspredicateがこの状況に伴う方法を見ていません。

ケース非感受性のみを気にかけた場合、すべてのアイテムをループして、低いフィルター文字列をより低い名前と比較することができます。しかし、私はディークリティクスの同様のトリックを知りません。

これに良い解決策はありますか?

役に立ちましたか?

解決

この質問の一番の答えを確認してください。

uitableviewのセクションヘッダーの非米国文字

そのコードを使用してディアチティックスを取り除き、その後、鈍感な比較または検索を行うことができるはずです。

他のヒント

どんなものはどうですか:

NSArray * array = .....
NSString * searchString = @"foo";
NSArray * filteredArray = [array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"name contains[cd] %@", searchString]];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top