我正在尝试在我的iOS应用中创建一个搜索页面,它首先返回零行,但是在用户点击搜索栏后,键入他们正在搜索的内容并点击输入(返回)然后才会结果填充行。我一直试图让它工作,但无济于事:(。我一直得到一个未被捕获的异常。这是代码,我做错了什么?
- (void)searchBarSearchButtonClicked:(UISearchBar *)_searchBar {
isSearched = YES;
//NSString *searchText = searchBar.text;
NSPredicate *searchResults = [NSPredicate predicateWithFormat:@"username contains[c] %@", _searchBar.text];
self.searchedUsers = [self.allUsers filteredArrayUsingPredicate:searchResults];
NSLog(@"%@",[self.searchedUsers objectAtIndex:0]);
[self.tableView reloadData];
[searchBar resignFirstResponder];
}
-(void)searchBarCancelButtonClicked:(UISearchBar *)_searchBar {
isSearched = NO;
[searchBar resignFirstResponder];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
return [self.searchedUsers count];
} else {
return 0;//[self.allUsers count];
}
}
这是我得到的未被捕获的例外:
由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'请求无效索引路径的rect({length = 2,path = 0 - 0})'。
我在搜索字段中输入后立即收到此错误。