Xcode 搜索栏对更改文本或取消点击没有反应

Xcode search bar not reacting to changing text or cancel being clicked

我的搜索栏委托代码是:

extension ViewController: UISearchBarDelegate{
    
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
            // change the array that is being printed
            searching = true
            print("here")
            tableView.reloadData()
    }
    
    func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
        searching = false
        searchBar.text = ""
        print("cancel")
        tableView.reloadData()
    }

}

我的搜索栏连接为 @IBOutlet weak var searchBar: UISearchBar!

撇开我是否正确过滤内容不谈,现在无论是在搜索栏中键入内容还是单击取消都不会执行任何操作(如上所示,至少当这些方法被称为“此处”和“取消”时应该打印出来到控制台),取消也不会清除搜索栏文本。有谁知道为什么这个happens/what我做错了?

您是否检查过是否将 searchBar 委托设置为 ViewController?您已经正确地实现了协议,但请确保您的 viewDidLoad 函数中包含以下代码:

self.searchBar.delegate = self

还值得检查情节提要搜索栏元素是否真的连接到 ViewController 上声明的 @IBOutlet。您可以在连接检查器中找到它。你的必须是这样的:

Look at the second connection in this image