Swift中willSet和didSet不调用
willSet和didSet如果在初始化(init)的方法内写是无效的,但是又需要在初始化的时候调用didSet,那么可以采用KVC的方式给对象初始化,就可以调用willSet&didSet了
override init(frame: CGRect) {
super.init(frame: frame)
setValue(true, forKey: "isConnect")
}
override func setValue(_ value: Any?, forUndefinedKey key: String) {
guard let newValue = value as? Bool else {
return
}
isConnect = newValue
}
var isConnect : Bool = false {
didSet {
}
}