我正在尝试向我的应用添加搜索栏。我在这里关注AppCoda教程:http://www.appcoda.com/search-bar-tutorial-ios7/当用户开始在搜索栏中输入时,应用程序停止在该行运行:
NSArray *resultsFromTheSearch = [profileNames filteredArrayUsingPredicate:resultPredicate];
这是完整的方法
- (void)filterContentForSearchText:(NSString*)searchText scope: (NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"name contains[c] %@", searchText];
NSMutableArray *profileNames = [NSMutableArray array];
for (PFUser *user in self.profiles) {
[profileNames addObject:user.username];
}
NSArray *resultsFromTheSearch = [profileNames filteredArrayUsingPredicate:resultPredicate];
for (NSString *nameStr in resultsFromTheSearch) {
PFQuery *userQuerySearch = [PFUser query];
[userQuerySearch whereKey:@"username" equalTo:nameStr];
[userQuerySearch findObjectsInBackground];
}
}
为什么会这样?
答案 0 :(得分:0)
我认为问题在于你的谓词。因为,您已经在数组中添加了名称,您的谓词应该是
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"self contains[c] %@", searchText];