![](/img/trans.png)
[英]How can I reload all of data in tableview when I click cancel on search bar?(IOS/Swift)
[英]Text Search prevent reload all data in tableview in Swift
有一个 uitextview 和 uitableview 和这个 tableview 获取所有数据。 如果我在 uitextview 中搜索文本,它会获取结果(无论我在 uitextview 上输入什么),但问题是在获得搜索结果之后我向下滚动一点,然后表格重新加载/再次获取搜索结果下的所有数据。 如果我在文本搜索后向下滚动,如何防止重新加载数据?
@IBOutlet weak var txtSearch: UITextField!
@IBOutlet weak var tblAllRest: UITableView!
@IBOutlet weak var ScrollViewMain: UIScrollView!
var arrayAllRest : [HomeRestaurantModel] = []
var page = 1
self.tblAllRest.delegate = self
self.tblAllRest.dataSource = self
self.txtSearch.addTarget(self, action: #selector(self.txtChanged(_:)), for: .editingChanged)
@objc func txtChanged(_ sender : UITextField){
self.page = 1
self.getRestData()
}
func getRestData(){ // api call
GFunctions.shared.APICallRestaurantSearchList(tbl : self.tblAllRest ,page: self.page.description, is_featured: "All", search: self.txtSearch.text!) { (complete, arrayRest) in
if complete{
if self.page == 1{
self.arrayAllRest = arrayRest
}else{
self.arrayAllRest += arrayRest
}
}else{
if self.page == 1{
self.arrayAllRest = []
}
}
self.page += 1
self.tblAllRest.reloadData()
}
}
您必须分配一个 boolean 变量,比如说isSearched
,并在进行搜索时使其为真。
然后在你 function getRestData
中,检查 isSearched 是否为真,如果它只是从 function 返回,否则加载数据isSearched
为假
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.