我对结构的问题是尝试获取和设置值。 我试着把我的ivars存储起来:
让origin.x = 10,origin.y = 10
但是,我对如何利用吸气剂和定位器感到困惑。我有一个起源,但我应该在 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)
}
}
}
答案 0 :(得分:0)
这似乎大多是正确的 - 没有必要"放入" newCenter
参数。但是,在计算y位置时,您错误地除以size.width
而不是size.height
。
当您使用foo.center = bar
时,bar
将是newCenter
的值。