2 つのプロパティを持つPersonオブジェクトがあります。. 私は現在、次のようなものを使用しています:NSStringfirstName and lastNameNSPredicate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(firstName contains[cd] %@) OR (lastName contains[cd] %@)", searchText, searchText];
たとえば、名前を検索しているとします"John Smith"。検索バーに と入力"Joh"するJohn Smithと、オプションとして表示されます。これで問題ありませんが、入力する"John Sm"と空白になります。
firstName と lastName を結合するにはどうpredicateすればよいので、検索していた場合"John Sm"でもJohn Smithオプションとして表示されます。
これが理にかなっていることを願っています。ありがとう。
編集:もう少し明確にするために、SearchDisplayControllerデリゲートメソッドを使用しています:
-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope;
そして、私はそのpredicateようなものを使用しています:
newArray = [personObjectArray filteredArrayUsingPredicate:predicate];