这是我创建UIsearchbar的代码。 我想通过UItableview
上的搜索栏工作来创建函数过滤器 //Make sure to import UIKit import Foundation import UIKit
class ViewController: UIViewController, UISearchBarDelegate {
var searchController = UISearchController()
override func viewDidLoad() {
//Setup search bar
searchController = UISearchController(searchResultsController: nil)
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
//Set delegate
searchController.searchResultsUpdater = self
//Add to top of table view
tableView.tableHeaderView = searchController.searchBar
} } extension ViewController: UISearchResultsUpdating {
func updateSearchResults(for searchController: UISearchController) {
print(searchController.searchBar.text!)
} }
答案 0 :(得分:0)
如何开始的步骤。
- 创建两个数据源。
- 一个保存所有数据(dataSourceFull)和其他保留过滤数据(dataSourceFiltered)。
- 在UISearchBar的文本更改上,使用NSpredicate过滤原始数据源(dataSourceFull)并保留过滤后的数据 (dataSourceFiltered)。
- 使用tableview绑定过滤后的数据(dataSourceFiltered)并重新加载。
- 如果在搜索文本清除时清空已过滤的数据源。