У меня есть объект Person
, который имеет два свойства NSString
; firstName and lastName
.
В настоящее время я использую NSPredicate
так:
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
все равно будет отображаться как опция.
Надеюсь, это имеет смысл. Спасибо.
EDIT:
Чтобы добавить немного больше пояснений, я использую метод делегата SearchDisplayController
:
-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope;
и я использую predicate
следующим образом:
newArray = [personObjectArray filteredArrayUsingPredicate:predicate];