使用结构来获取和设置值的方法?

时间:2016-04-13 16:16:18

标签: swift struct

我对结构的问题是尝试获取和设置值。 我试着把我的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)
         }
     }
}

1 个答案:

答案 0 :(得分:0)

这似乎大多是正确的 - 没有必要"放入" newCenter参数。但是,在计算y位置时,您错误地除以size.width而不是size.height

当您使用foo.center = bar时,bar将是newCenter的值。