stored - Cómo anular setter en Swift
swift 4 protocol (1)
¿Qué quieres hacer con tu configurador personalizado? Si desea que la clase haga algo antes / después de que se establezca el valor, puede usar willSet
/ didSet
:
class TheSuperClass {
var aVar = 0
}
class SubClass: TheSuperClass {
override var aVar: Int {
willSet {
print("WillSet aVar to /(newValue) from /(aVar)")
}
didSet {
print("didSet aVar to /(aVar) from /(oldValue)")
}
}
}
let aSub = SubClass()
aSub.aVar = 5
Salida de consola:
WillSet aVar a 5 de 0
didSet aVar a 5 de 0
Sin embargo, si desea cambiar completamente la forma en que el definidor interactúa con la superclase:
class SecondSubClass: TheSuperClass {
override var aVar: Int {
get {
return super.aVar
}
set {
print("Would have set aVar to /(newValue) from /(aVar)")
}
}
}
let secondSub = SecondSubClass()
print(secondSub.aVar)
secondSub.aVar = 5
print(secondSub.aVar)
Salida de consola:
0
Habría puesto aVar en 5 desde 0
0
Una Superclase:
class MySuperView : UIView{
var aProperty ;
}
Una herencia de subclase de la super clase:
class Subclass : MySuperClass{
// I want to override the aProperty''s setter/getter method
}
Quiero anular el método setter / getter de la propiedad de la superclase,
¿Cómo anular este método en Swift? Por favor ayúdame, gracias.