Ich habe UISearchbar
hinzugefügt und wenn ich auf Abbrechen klicke, möchte ich alle Daten in der Tabellenansicht neu laden. Aber es zeigt die durch Suchleiste gefilterte Zelle. Anstatt nur das Suchergebnis anzuzeigen, Wie kann ich alle Daten erneut laden?Wie kann ich alle Daten in der Tabellenansicht erneut laden, wenn ich in der Suchleiste auf Abbrechen klicke? (IOS/Swift)
@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()
}
können Sie einige zusätzliche Code anzeigen –
siehe http://shrikar.com/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate/ –
Versuchen Sie, den Code der 'tableviewdelegate' Methoden hinzuzufügen. –