Я пытаюсь выполнить это:
Рассмотрим представление таблицы с панелью поиска в заголовке. Представление таблицы получает обновляется всякий раз, когда выполняется поиск строки.
У меня есть 2 класса
TableViewController (подкласс UIViewController)
содержит UITableView -Это показывает таблицу, чье
представление заголовка таблицы загружается из класса Header (подкласс UIToolBar )
.
Заголовок(заголовок UITableView)
-Содержит UISearchBar и его делегат
UISearchBarDelegates вызывает функцию в TableViewController
, которая вызывает
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
, что приводит к сбою приложения
кадр стека вызова функциивыглядит следующим образом
[UITableView reloadSections:withRowAnimation:]
[TableViewController functionThatCallsReloadSection]
[Header searchBarSearchButtonClicked:]
ReloadSection вызывает сбой приложения. Есть идеи, почему это происходит?
Это потому, что функция делегата все еще активна в стеке в то время как заголовок табличного представления перезагружается ??
Я ничего не меняю в табличном представлении (никаких изменений в количестве строк или разделов). Все, что я пытаюсь сделать, это просто перезагрузить табличное представление.
Отредактировано: Я пытаюсь сделать все эти вещи на iPad, который предоставляет всплывающее окно при использовании UISearchDisplayController, который я не хочу использовать. У меня уже есть табличное представление, которое я хочу обновить после ввода текста и нажатия кнопки поиска, используя поиск делегировать.Единственная проблема заключается в том, что как только я вызываю [UITableView reloadSection:] в делегате поиска UISearchBar (UISearchBar находится в заголовке UITableView, который я хочу перезагрузить), происходит сбой приложения.