我有一个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];