How to use contains in case if needs to get a particular object array contains an object.
Trying to select and deselect checkbox ( using 2 images ) for tableview rows.
Code :
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)
}
I'm using swift 3.0 .it shows compiler error "Missing argument label 'where' in call". Any help is appreciated.
ParamsModel
needs to conform to Equatable
if you want to be able to call contains(_:)
on an Array of ParamsModel
instances.
This code can also be written more succinctly as:
let imageName = selectedParams.contains(originalParams[indexPath.index]) ? "checked.png" : "unchecked.png"
cell.btnSelect.setBackgroundImage(UIImage(named: imageName), for: .normal)