私はテーブルビューに人の名前のプロパティで行を表示しています。テーブルビューにより、ユーザーは名前で検索することができます。たとえば、ユーザーが「crp」と入力すると、名前「Chris Paul」と一致します。
検索文字列を受け取り、配列内のモデルの名前を検索するように NSPredicate をセットアップするメソッドがあります
- (void)setPredicateWithText: (NSString *)searchText
{
for (int i = 0; i < searchText.length; i ++)
{
NSString *character = [searchText substringWithRange:NSMakeRange(i, 1)];
self.format = [self.format stringByAppendingFormat:@".*%@",character];
if (i == searchText.length -1) // last character
{
self.format = [self.format stringByAppendingString:@".*"];
}
}
// result format == .*c.*r.*p.*
self.searchPredicate = [NSPredicate predicateWithFormat:@"SELF.name MATCHES '%@'", self.format];
}
および他の方法で:
self.resultArray = [self.allPlayers filteredArrayUsingPredicate:self.searchPredicate];
しかし、結果として何も返されません...助けてください、ありがとう!!