我正在进行webservice调用,所以我有UISearchBar和DisplaySearchController。
除了我第一次在SearchBar中输入一个字母外,一切都很好用,我在tableView中得到'No Results',然后我得到第一个字母的结果。
我正在使用的一些代码:
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
{
return ([self.tableData count] > 0 );
}
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
[self.tableData removeAllObjects];
if ([searchText length] > 0 )
{
[self performSelectorInBackground:@selector(callWebService:) withObject:searchText];
}
- (void) callWebService:(NSString *) textToComplete
{
//...
//call web service and fille tableData
//...
if ( [self.tableData count ] > 0 )
[self.searchDisplayController.searchResultsTableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];