![](/img/trans.png)
[英]iOS swift tableview how can I reload the data when I touch button
[英]How can I reload all of data in tableview when I click cancel on search bar?(IOS/Swift)
我添加了UISearchbar
,當我單擊“取消”按鈕時,我想重新加載tableview上的所有數據。 但是它顯示了被搜索欄過濾的單元格。 如何僅顯示搜索結果,而不是僅顯示搜索結果?
@IBOutlet weak var mySearchBar: UISearchBar!
@IBOutlet var myTableView: UITableView!
var foods = [Food]()
var foodsSearching = [Food]()
// search in progress or not
var isSearching : Bool = false
override func viewDidLoad() {
super.viewDidLoad()
// Use the edit button item provided by the table view controller.
navigationItem.leftBarButtonItem = editButtonItem()
if let savedFoods = loadFoods() {
foods += savedFoods
} else {
}
// set table view delegate
self.myTableView.dataSource = self
self.myTableView.delegate = self
// set search bar delegate
self.mySearchBar.delegate = self
}
....
// hide keyboard when cancel button clicked
func searchBarCancelButtonClicked(searchBar: UISearchBar) {
self.mySearchBar.text = ""
self.mySearchBar.resignFirstResponder()
self.myTableView.dataSource = self
self.myTableView.delegate = self
//////////////////////////////////////////////
//need to reload all of data..not only the cells filtered by search bar
self.myTableView.reloadData()
}
在重新加載表格視圖之前,將isSearching
上的searchBarCancelButtonClicked
設置為false
。 在tableview委托上,檢查isSearching
是否為true,然后使用foods
數組,否則使用foodsSearching
數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.