4

我希望在包含 UITableView(不是 UITableViewController)的 ViewController 上创建一个 UISearchController。我有 2 个警告和一次崩溃,并且不确定它们是否相关 - 但确实知道我的问题之一是警告

'Imcompatiable pointers types sending UITableView to parameter of type UIViewController.'

显然这是因为我试图在我的 UIViewController 上将 searchResultsController 设置为我的 tableView,而不是像这样的 UITableViewController:

   self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.myTableView];

self.myTableView 是 UITableView,我将如何解决这个问题?我是否必须将我的 tableView 变成 UITableViewController 才能让它正常工作?提前致谢。

4

1 回答 1

5

initWithSearchResultsController 方法需要一个视图控制器。根据我的经验,它可以是 UIViewController 或 UITableViewController ,无论您想在哪里显示过滤(搜索)结果。

在您的情况下,我认为您正试图在包含您的 tableView 的同一视图控制器中显示过滤后的结果。因此,以下内容应该可以消除您遇到的错误-

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];

但是,您可能还必须将过滤表的数据源设置为 self。

于 2015-01-20T07:15:15.267 回答