【发布时间】:2018-03-11 09:14:19
【问题描述】:
我需要在 UITableView 中搜索多个数据(姓名、联系电话、电子邮件、状态等),用户可以按姓名或电话号码进行搜索以搜索记录。数据是通过模型处理的,这意味着数组中有对象。所以,我不知道如何以这种方式进行搜索。
以这种方式在 UITableViewCell 中显示数据:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: VisitorsCell = tableView.dequeueReusableCell(withIdentifier: "VisitorsCell", for: indexPath) as! VisitorsCell
let dss:VisitorsDs = VisitorsArray[indexPath.row] as! VisitorsDs
dss.ageFromDate = ds.age
cell.lblAge.text = dss.ageFromDate
cell.lblName.text = dss.namePlain
cell.lblMobile.text = dss.mobilePlain
cell.lblPurpose.text = dss.purpose
cell.lblParentsName.text = dss.parentsName
cell.lblTime.text = dss.time
cell.lblDate.text = dss.date
cell.lblClinic.text = dss.clinic
return cell
}
更新:
let dss:VisitorsDs = VisitorsArray as! VisitorsDs
let filteredArray = self.VisitorsArray.filter(using: {($0.dss.namePlain.contains(txtSearch.text)) || ($0.dss.mobilePlain.contains(txtSearch.text))})
【问题讨论】:
-
在用户可以搜索
VisitorsDs的每个属性上使用filter()或NSPredicate。
标签: ios uitableview search model-view-controller swift3