Mit dieser einfachen Klasse erhalte ich die Compiler- Warnung
Versuch,
x
innerhalb seines eigenen Setters / Getters zu ändern / darauf zuzugreifen
und wenn ich es so benutze:
var p: point = Point()
p.x = 12
Ich bekomme eine EXC_BAD_ACCESS. Wie kann ich dies tun, ohne Ivars explizit zu unterstützen?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
Sie verwenden möchten didSet
. Eigenschaften verhalten sich bei der Implementierung in Swift anders als in Objective-C oder anderen Sprachen set
. Siehe die Antwort unten von @jack und ein Beispiel didSet
von @cSquirrel