如何在 swift 3.0 中为对象数组使用“.contains”
how to use ".contains" for an object array in swift 3.0
如果需要获取包含对象的特定对象数组,如何使用包含。
正在尝试 select 和取消 select 表格视图行的复选框(使用 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。它显示编译器错误 "Missing argument label 'where' in call"。感谢任何帮助。
ParamsModel
需要符合 Equatable
如果您希望能够在 ParamsModel
个实例的数组上调用 contains(_:)
。
这段代码也可以更简洁地写成:
let imageName = selectedParams.contains(originalParams[indexPath.index]) ? "checked.png" : "unchecked.png"
cell.btnSelect.setBackgroundImage(UIImage(named: imageName), for: .normal)
如果需要获取包含对象的特定对象数组,如何使用包含。
正在尝试 select 和取消 select 表格视图行的复选框(使用 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。它显示编译器错误 "Missing argument label 'where' in call"。感谢任何帮助。
ParamsModel
需要符合 Equatable
如果您希望能够在 ParamsModel
个实例的数组上调用 contains(_:)
。
这段代码也可以更简洁地写成:
let imageName = selectedParams.contains(originalParams[indexPath.index]) ? "checked.png" : "unchecked.png"
cell.btnSelect.setBackgroundImage(UIImage(named: imageName), for: .normal)