オブジェクトの配列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:@"*"]]]