我正在努力实现这一目标:
考虑在其标题上带有搜索栏的表格视图。表格获取 每当搜索到字符串时都会刷新。
我有两节课
TableViewController (UIViewController子类)
包含UITableView - 显示其
的表表的标题视图是从Header类(UIToolBar子类)加载的
标题(UITableView的标题)
- 包含 UISearchBar及其代理
UISearchBarDelegates回调TableViewController中的一个函数
调用
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
导致App崩溃
函数调用堆栈框架如下
[UITableView reloadSections:withRowAnimation:]
[TableViewController functionThatCallsReloadSection]
[Header searchBarSearchButtonClicked:]
reloadSection导致App崩溃。任何想法为什么会这样发生?
是否因为委托函数在堆栈上仍处于活动状态 而表视图头重新加载??
我没有改变任何与tableview相关的事情(行数或部分数没有变化)。我想做的就是重新加载表视图。
编辑: 我试图在iPad上做所有这些事情,它提供了一个popover同时使用我不想使用的UISearchDisplayController。我已经有一个表格视图,我想在输入文本和搜索按钮被点击后刷新,使用搜索代表。 唯一的问题是,一旦我在UISearchBar的搜索委托中调用[UITableView reloadSection:](UISearchBar位于我想要重新加载的UITableView的标题上),应用程序就会崩溃。
答案 0 :(得分:1)
我能够通过使用tableViewHeader而不是使用表视图头委托方法loadind表视图头来解决问题,其中我使用了一个初始化为表视图头的指针。