尝试创建一个仅在用户点击输入后显示结果的searchview控制器

时间:2014-08-11 19:10:57

标签: ios objective-c

我正在尝试在我的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})'。

我在搜索字段中输入后立即收到此错误。

0 个答案:

没有答案