je lisais à propos willset et didset des propriétés dans rapide, je suis venu pour savoir que je peux utiliser ces avec la variable ayant une valeur initiale comme ci-dessous:pouvons-nous utiliser willset et didset avec getter et setter
var property = "name"
{
willSet
{
print("property is about to changed")
}
didSet
{
if property == oldValue
{
print("values are same")
}
else
{
print("value changed")
}
}
}
property = "anothername"
si puis-je utiliser willget et didset comme ci-dessous:
var property2:String{
willSet
{
print("value is about to change")
}
didSet
{
print("value is changes")
}
}
il me donne cette erreur:
non-member observing properties require an initializer
var property2:String{
^
si quelqu'un peut me expliquer ce qui se passe ici et puis-je utiliser getter et setter avec willset et didset ensemble comme:
var property2:String{
get{return property2}
set{propert2 = newValue}
willSet
{
print("value is about to change")
}
didSet
{
print("value is changes")
}
}
Aucune infraction, mais un optionnel en remplacement d'un initialiseur manquant est la pire suggestion. – vadian