I am trying to create a customView using xib below is the code
import UIKit
class CustomView: UIView {
@IBOutlet var CustomView: UIView!
private var _isSelecteda:Bool!
var isSelecteda: Bool {
get {
return _isSelecteda
}
set {
_isSelecteda = isSelecteda
if _isSelecteda {
CustomView.backgroundColor = UIColor.white
CustomView.layer.borderColor = UIColor.black.cgColor
}
else {
CustomView.backgroundColor = Colors.searchGameCellBackgroundColor
CustomView.layer.borderColor = Colors.priceLabelBorderColor?.cgColor
}
}
}
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
private func commonInit() {
Bundle.main.loadNibNamed("CustomView", owner: self, options: nil)
addSubview(CustomView)
self._isSelecteda = false
CustomView.layer.cornerRadius = 3
CustomView.layer.borderWidth = 1
self.clipsToBounds = true
CustomView.frame = self.bounds
}
@IBAction func btnSelectedTapped(_ sender: Any) {
isSelecteda = !isSelecteda
}
}
When ever I try to access isSelecteda the private declaration of _isSelecteda is called and resets the value . My objective is to set the value of isSelected from a ViewController and change its background color.
According to my understanding that should not be the case. Its very strange
Note : I am using Xcode 9.4.1 with Swift 4.1