单击搜索栏上的“取消”时,如何重新加载tableview中的所有数据?(IOS/Swift)
我添加了单击搜索栏上的“取消”时,如何重新加载tableview中的所有数据?(IOS/Swift),ios,swift,tableview,Ios,Swift,Tableview,我添加了UISearchbar,当我单击取消按钮时,我想重新加载tableview上的所有数据。但它显示了通过搜索栏过滤的单元格。如何重新加载所有数据,而不是只显示搜索结果 @IBOutlet weak var mySearchBar: UISearchBar! @IBOutlet var myTableView: UITableView! var foods = [Food]() var foodsSearching = [Food]() // search in progres
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
}
在重新加载表视图之前,将
searchBarCancelButtonClicked
上的isSearching
设置为false
。在tableview代理上,检查isSearching
是否为真,然后使用foods
数组,否则使用FoodSearching
数组。在重新加载表格视图之前,将isSearching
设置为false
。在tableview代理上,检查isSearching
是否为真,然后使用foods
数组,否则,请使用foodSearching
array。是否可以显示一些附加代码请参见此尝试添加tableviewdelegate
方法的代码。是否可以显示一些附加代码请参见此尝试添加tableviewdelegate
方法的代码。
// 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()
}