如果需要获取特定对象数组包含对象,如何使用包含。
尝试为tableview行选择和取消选中复选框(使用2张图像)。
代码:
var originalParams = [ParamsModel]()
var selectedParams = [ParamsModel]()
if selectedParams.contains(originalParams[indexPath.index]) {
cell.btnSelect.setBackgroundImage(UIImage(named:"checked.png"), for: UIControlState.normal)
}
else
{
cell.btnSelect.setBackgroundImage(UIImage(named:"unchecked.png"), for: UIControlState.normal)
}
我正在使用swift 3.0。它显示编译器错误“缺少参数标签”,其中'在调用中'。任何帮助表示赞赏。
答案 0 :(得分:1)
ParamsModel
个数组的实例上调用Equatable
,则 contains(_:)
需要符合ParamsModel
。
此代码也可以更简洁地编写为:
let imageName = selectedParams.contains(originalParams[indexPath.index]) ? "checked.png" : "unchecked.png"
cell.btnSelect.setBackgroundImage(UIImage(named: imageName), for: .normal)