如何将自定义tableView搜索工具与UISearchDisplayController结合使用?

时间:2013-08-16 20:10:00

标签: iphone ios uitableview uisearchbar uisearchdisplaycontroller

我有一个带搜索栏的UITableView。我有一个单独的页面(通过tabBarController访问)搜索工具,可以通过多种方式查询数据。

我遇到的困难是当我使用自定义搜索工具搜索数据时,我正在过滤实际的tableView,而不是UISearchDisplayController的searchResultsTableView。

我希望我的自定义查询工具能够影响searchResultsTableView,但我找不到访问它的方法。另外,当我使用搜索工具返回表格后,会显示原始表格,如何显示searchResultsTableView?

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

你如何填充searchResultsTableView?

为此保留单独的数据集(可能是NSArray)可能是个好主意。搜索开始时,匹配的项目将添加到该数据集中,而该数据集又将用于填充searchResultsTableView。

这样,在使用这些自定义搜索工具时,将过滤特定数据集而不是原始数据集。

至于在返回视图时显示searchResultsTableView,它取决于远离该视图时实际完成的操作。通常的策略是在您的UISearchDisplayController上使用setActive:YES或在某处存储搜索字符串,并在返回并检索该字符串后在UISearchDisplayController的搜索栏上调用setText:SEARCH_STRING