class ViewController: UIViewController { let searchController = UISearchController() override func viewDidLoad() { super.viewDidLoad() searchController.searchResultsUpdater = self navigationItem.searchController = searchController } } extension ViewController: UISearchResultsUpdating { func updateSearchResults(for searchController: UISearchController) { guard let text = searchController.searchBar.text else { return } // search the result base on text } }