Почему мой UISearchDisplayController не запускает метод shouldReloadTableForSearchString при вводе текста в поле поиска? - PullRequest
2 голосов
/ 13 мая 2010

Я следовал примеру кода Apple TableSearch, но он не работает для меня, и я думаю, что я делаю все так же, как они это делали. Приведенный ниже метод должен запускаться всякий раз, когда пользователь вводит что-либо в поле поиска, но он никогда не запускается для меня, только в примере приложения.

Мой заголовочный файл имеет такую ​​реализацию:

@interface ContactsTableVC : UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>{

Я не уверен, что мне не хватает или где еще искать.

Мой NSLog никогда не вызывается.

Спасибо за помощь!

    - (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString searchScope:(NSInteger)searchOption
{
    NSLog(@"The shouldreloadtableforsearchstring method has been called!");
    [self filterContentForSearchText:searchString];

    // Return YES to cause the search result table view to be reloaded.
    return YES;
}

Ответы [ 2 ]

0 голосов
/ 13 мая 2010

Черт, я чувствую себя тупым. Я посмотрел на все как минимум 100 раз, чтобы убедиться, что все идет правильно, и, как обычно, это было что-то маленькое, что я упустил из виду. В моей Xib TableViewController как-то было ДВА SearchDisplayController в Интерфейсном Разработчике. По умолчанию был первый, который не был связан с панелью поиска. Мне просто нужно было удалить первый SearchDisplayController, и все заработало ...

Спасибо @Jordan за быстрый ответ. Очень ценится!

0 голосов
/ 13 мая 2010

Добавили ли вы делегат UISearchDisplayDelegate в файл @interface ContactsTableVC.

...