Com esta classe simples, estou recebendo o aviso do compilador
Tentativa de modificar / acessar
x
dentro de seu próprio setter / getter
e quando eu uso assim:
var p: point = Point()
p.x = 12
Eu recebo um EXC_BAD_ACCESS. Como posso fazer isso sem ivars de apoio explícitos?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
você deseja usar didSet
. As propriedades se comportam de maneira diferente no Swift que no Objective-C ou em outros idiomas quando você implementa set
. Veja a resposta abaixo de @jack e um exemplo de didSet
partir @cSquirrel