如果我有UISearchController
,有什么区别:
searchController.searchResultsUpdater = self
public func updateSearchResults(for searchController: UISearchController) {
guard let searchText = searchController.searchBar.text else { return }
// Use searchText
}
和
searchController.searchBar.delegate = self
public func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
// /Use searchText
}
答案 0 :(得分:5)
updateSearchResults
就像是textDidChange
的超集。
在searchBox中输入新文本时以及从搜索文本字段中清除文本时都会调用它们
updateSearchResults
在另外两种情况下被触发:
searchBarTextDidBeginEditing
UISearchBarDelegate
方法)