我有,我搜索用戶的搜索欄。當我第一次搜索用戶時,它顯示正確的結果。但是,當我移至詳細視圖(對用戶的配置文件)時,點擊任何按鈕,然後移回,值重複三次。移動時不會影響結果,不要點擊任何按鈕並向後移動。以下是我使用的代碼片段:的tableView顯示重複值
override func viewDidLoad() {
super.viewDidLoad()
searchController.searchBar.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "Search people (by username)"
definesPresentationContext = true
tableView.tableHeaderView = searchController.searchBar
requestManager.delegate = self
}
func updateSearchResults(_ sender: RequestManager) {
tableView.reloadData()
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
requestManager.resetSearch()
requestManager.searchUser(validatedText)
print("Validated text: \(validatedText)")
}
func searchUser(_ searchText: String) {
refUsers.observe(.value, with: { (snapshot) in
let snapshotDictionary: [String: AnyObject] = snapshot.value as! [String : AnyObject]
for (userKey, _) in snapshotDictionary {
if let usernameValue = snapshot.childSnapshot(forPath: userKey).childSnapshot(forPath: "username").value as? String
{
if usernameValue.lowercased().contains(searchText.lowercased()) {
let userData = JSON(snapshot.childSnapshot(forPath: userKey).value!)
self.searchUsers.append(userData)
}
if self.delegate != nil {
self.delegate?.updateSearchResults(self)
}
}
else {
print("Users could not be found.")
}
}
}) { (error) in
print(error.localizedDescription)
}
}
當我從細節視圖移回時,似乎要調用結果三次?這裏沒有任何功能在詳細視圖中。
的問題是不是你的tableview,但你的searchUsers。要調用每次追加和不沖水老結果 – GIJOW