Con esta clase simple obtengo la advertencia del compilador
Intentando modificar / acceder
x
dentro de su propio setter / getter
y cuando lo uso así:
var p: point = Point()
p.x = 12
Me sale un EXC_BAD_ACCESS. ¿Cómo puedo hacer esto sin respaldo explícito de ivars?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
que quieres usar didSet
. Las propiedades se comportan de manera diferente en Swift que Objective-C u otros lenguajes cuando se implementa set
. Vea la respuesta a continuación de @jack y un ejemplo de didSet
@cSquirrel