[英]How to UISearchcontroller customcell swift
I have Array 我有数组
let Name:[String] = ["John","Peter","Jack"]
let Sal:[String] = ["50000","37000","63000"]
and tableview to show data 和tableview显示数据
{
Name:John
Salary:50000
}
{
Name:Peter
Salary:37000
}
{
Name:Jack
Salary:63000
}
I want to Search name tableview will display Name and Salary how to use it thanks 我要搜索姓名tableview将显示姓名和薪水该如何使用,谢谢
Your array convert dictionry: 您的数组转换字典:
let Name:[String] = ["John","Peter","Jack"]
let Sal:[String] = ["50000","37000","63000"]
var AllData:Array<Dictionary<String,String>> = []
var SearchData:Array<Dictionary<String,String>> = []
for i in 0..<Name.count
{
var data:Dictionary<String, String> = Dictionary<String, String>()
data["name"] = Name[i]
data["salary"] = Sal[i]
AllData.insert(data, at: AllData.count)
}
SearchData=AllData
UISearchBar Delete Method : UISearchBar删除方法:
func searchBar(searchBar: UISearchBar, textDidChange searchText: String)
{
let predicate=NSPredicate(format: "name CONTAINS[cd] %@", searchText)
let arr=(AllData as NSArray).filtered(using: predicate)
if arr.count > 0
{
SearchData.removeAll(keepingCapacity: true)
SearchData=arr as! Array<Dictionary<String, String>>
}
else
{
SearchData=AllData
}
tableview.reloadData()
}
func searchBarSearchButtonClicked(searchBar: UISearchBar)
{
self.searchBar.resignFirstResponder()
}
UITableView Delete Method: UITableView的删除方法:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return SearchData.count
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
return 44
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! UITableViewCell
var Data:Dictionary<String,String> = SearchData[indexPath.row]
cell.NameLbl.text = Data["name"]
cell.SalaryLbl.text = Data["salary"]
return cell
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.