我想知道 swift 语言中的这种行为是否记录在任何地方。我在官方文档中没有找到。最好用代码表示:
var testBacking = CGPoint(x: 3, y: 5)
var testPoint:CGPoint {
get {
print("getter called")
return testBacking
} set {
print("setter called with newValue = \(newValue)")
testBacking = newValue
}
}
testPoint.x = 10 // getter called
// setter called with newValue = (10.0, 5.0)
如您所见,我只是设置x
计算结构的组件,testPoint
这样做时,swift会自动首先调用getter并拉出y
组件并构建一个完整的结构,然后将其作为newValue传递给setter。这似乎是适当的行为。我的问题是:这种行为记录在哪里?我错过了它,还是根本没有提到它?