通过这个简单的类,我得到了编译器警告
尝试
x
在自己的设置器/ 获取器中修改/访问
当我这样使用它时:
var p: point = Point()
p.x = 12
我得到一个EXC_BAD_ACCESS。没有明确的支持,我该怎么办?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
您想使用的didSet
。在实现时,属性在Swift中的行为不同于Objective-C或其他语言set
。请参阅@jack的以下答案以及@cSquirrel的示例didSet