我希望在包含 UITableView(而非 UITableViewController)的 ViewController 上创建一个 UISearchController。我有 2 条警告和一次崩溃,不确定它们是否相关 - 但我知道我的问题之一是警告
'Imcompatiable pointers types sending UITableView to parameter of type UIViewController.'
很明显,这是因为我正在尝试将 searchResultsController 设置为我的 UIViewController 上的 tableView,而不是像这样的 UITableViewController:
self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.myTableView];
self.myTableView 是 UITableView,我该如何解决这个问题?我是否必须将我的 tableView 变成 UITableViewController 才能使其正常工作?提前致谢。
最佳答案
initWithSearchResultsController 方法需要一个 View Controller 。以我的经验,它可以是 UIViewController 或 UITableViewController,无论您想要显示过滤(搜索)结果。
我认为,在您的情况下,您正试图在包含 tableView 的同一 View Controller 中显示过滤后的结果。因此,以下应该消除您遇到的错误-
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
但是,您可能还必须将过滤表的数据源设置为 self。
关于ios - UISearchController 与 UITableView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569756/