Swift如何在触摸回车键时更新搜索结果



I Swift,我使用UISearcheControllerUISearcheResultUpdating 创建搜索视图

并且我用func updateSearchResultsForSearchController 更新结果

if self.searchController?.searchBar.text.lengthOfBytesUsingEncoding(NSUTF32StringEncoding) > 0 {  
        let searchBarText = self.searchController!.searchBar.text
        var arrResult = DFManager.GetResult(searchBarText)
        self.results?.addObjectsFromArray(arrResult)            
        // Reload a table with results.
        self.searchResultsController?.tableView.reloadData()
    }

但这就是当我一个字符接一个字符地键入时总是更新的结果,这会使这个应用程序变得缓慢。我只想在键入回车键时更新此结果?

试试这个:

func searchBarSearchButtonClicked(searchBar: UISearchBar) {
        //do something
        searchBar.resignFirstResponder() //hide keyboard
    }

别忘了添加searchBar代理:

class SomeViewController: UIViewController, UISearchBarDelegate {
   @IBOutlet weak var searchBar: UISearchBar!
   override func viewDidLoad() {
        searchBar.delegate = self
   }
}

最新更新