我的导航控制器和带有indexPath的搜索栏有问题。我有一个表格视图,其中有一个项目列表。项目是 1。图像和 1.每行的图像描述(标签)。
现在我尝试为列表粘贴搜索栏。它工作得很好,但是当我搜索例如列表的第二项(AssaultGren.)时,表格向我显示了错误的(第一个)图像。这是因为当我搜索时,第二项是搜索视图中的第一项.....现在我不知道如何解决它。也许有人可以帮助我?谢谢大家
https://i.stack.imgur.com/rPHuy.jpg "正常视图"
https://i.stack.imgur.com/O5Gqe.jpg "搜索视图"
func tableView(_ tableView: UITableView, cellForRowAt indexPath:
IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for:
indexPath) as? WehrmachtUnitsCellTableViewCell
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}
return cell!
}
}
我想你忘记设置正确的图像,以防你正在搜索。由于表视图单元格被iOS重用,因此它保留了之前设置的图像,因此您必须再次设置它。试试这个:
if searching{
cell?.UnitName?.text = searchUnits[indexPath.row]
cell?.UnitBild.image = UIImage(named : searchUnits[indexPath.row])
} else {
cell?.UnitName.text = units[indexPath.row]
cell?.UnitBild.image = UIImage(named : units[indexPath.row])
}