Swift 使用结构获取和设置值的方法?
我在structs中遇到的问题是试图获取和设置值。 我尝试将我的IVAR存储为: 设原点.x=10,原点.y=10 然而,我对如何使用getter和setter感到困惑。我有一个原点,但是我应该在我的newCenter参数中输入什么Swift 使用结构获取和设置值的方法?,swift,struct,Swift,Struct,我在structs中遇到的问题是试图获取和设置值。 我尝试将我的IVAR存储为: 设原点.x=10,原点.y=10 然而,我对如何使用getter和setter感到困惑。我有一个原点,但是我应该在我的newCenter参数中输入什么 struct Point { var x = 0.0, y = 0.0 } struct Rect { var origin = Point(x: 10, y: 10) var size = Size() var center: P
struct Point {
var x = 0.0, y = 0.0
}
struct Rect {
var origin = Point(x: 10, y: 10)
var size = Size()
var center: Point {
get {
let centerX = origin.x + (size.width / 2)
let centerY = origin.y + (size.height / 2)
return Point(x: centerX, y: centerY)
}
set(newCenter) {
origin.x = newCenter.x - (size.width / 2)
origin.y = newCenter.y - (size.height / 2)
}
}
}
这似乎基本正确-无需将任何内容“放入”
newCenter
参数。但是,在计算y位置时,您被错误地除以了size.width
,而不是size.height
使用foo.center=bar
时,bar
将是newCenter
的值