我有一个Person
具有两个NSString
属性的对象;firstName and lastName
. 我目前正在使用NSPredicate
这样的:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(firstName contains[cd] %@) OR (lastName contains[cd] %@)", searchText, searchText];
因此,例如,假设我正在搜索 name "John Smith"
。如果我在我的搜索栏中输入"Joh"
,那么John Smith
将作为一个选项出现。这很好,但如果我输入"John Sm"
它会变成空白。
我如何加入 firstName 和 lastName ,predicate
所以如果我正在搜索"John Sm"
thenJohn Smith
仍然会作为一个选项出现。
我希望这是有道理的。谢谢。
编辑:为了增加一点说明,我使用了SearchDisplayController
委托方法:
-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope;
我正在使用predicate
这样的:
newArray = [personObjectArray filteredArrayUsingPredicate:predicate];