NSPredicateを使用して配列を検索する 質問する

NSPredicateを使用して配列を検索する 質問する

オブジェクトの配列Card(NSObject) があり、各配列には と呼ばれるフィールドがありtags、これは NSString の NSArray です。

keywords次に、ユーザーの検索語をによって文字列のという配列に分割しcomponentsSeparatedByString、NSPredicate を使用して、 に少なくとも 1 つのキーワードを含むタグを持つ要素に基づいて Cards の配列をフィルター処理したいと思いますkeywords

あまり複雑ではないことを願います。NSPredicate 句を使用してみましたが、INうまくいきませんでした。どうすればよいでしょうか?

ベストアンサー1

arrayカードオブジェクトが含まれていることを考慮します。

 NSArray *keyWordsList = [keywords componentSeparatedByString:@","];
 [array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ANY %K IN %@",@"tags",keyWordsList]]

編集:

部分的に検索するには、LIKE 演算子を使用できます。

[array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ANY %K LIKE[cd] %@",@"tags",[partialkeyWord stringByAppendingString:@"*"]]]

おすすめ記事