在这一点上,我在表格视图中有搜索栏及其搜索顺序ID,我还有另一个数组,其中包含一些根据其顺序ID的数据。我的搜索栏正常工作,已过滤的数组正常工作,但其他数组无效。 (订单ID和订单内容存在冲突)订单的顺序正在变化。如何连接这两个阵列? 这是我的代码:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: sipCellId, for: indexPath) as! sipCell
if isSearching {
searched = filteredArray[indexPath.row]
}else{
searched = self.orderId[indexPath.row]
}
cell.orderIdLabel.text = searched
cell.detailLabel.text = self.newDatas[indexPath.row]
return cell
}
这里是我的搜索栏功能:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if mainSearchBar.text == nil || mainSearchBar.text == "" {
isSearching = false
view.endEditing(true)
tableView.reloadData()
}else {
isSearching = true
filteredArray = orderId.filter({$0.range(of: mainSearchBar.text!, options: .caseInsensitive) != nil})
tableView.reloadData()
}
}
答案 0 :(得分:0)
您的问题的上下文还不够清楚,您需要澄清更多,但是通常来说,如果您想根据另一个数组的元素来过滤原始数组(按照标题问题),则可以简单地过滤原始数组并询问是否其他数组包含该元素。
originalArray = originalArray.filter{otherArray.contains($0)}