我在结构方面遇到的问题是尝试获取和设置值。 我尝试这样存储我的 ivars:
let origin.x = 10, origin.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: 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
的值。
关于swift - 使用结构体获取和设置值的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604137/