Con questa semplice classe ricevo l' avviso del compilatore
Tentativo di modifica / accesso
x
all'interno del proprio setter / getter
e quando lo uso in questo modo:
var p: point = Point()
p.x = 12
Ricevo un EXC_BAD_ACCESS. Come posso farlo senza esplicito supporto ivar?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
che vuoi usare didSet
. Le proprietà si comportano diversamente in Swift rispetto a Objective-C o in altre lingue durante l'implementazione set
. Vedi la risposta di seguito da @jack e un esempio di didSet
da @cSquirrel