get and set

2018, Nov 02    

get & set

example

struct Point {
    var x = 0.0
    var y = 0.0
}

struct Shape {
    var origin = Point()    // 저장 프로퍼티
    var center: Point {     // 연산 프로퍼티
        get {
            return Point(x: origin.x/2 , y: origin.y/2)
        }
        set {
            origin.x = newValue.x * 2
            origin.y = newValue.y * 2
        }
    }
}

var aShape = Shape(origin: Point(x: 10, y: 6)) // get 발동
print(aShape.origin)  
print(aShape.center)

var bShape = Shape()
bShape.center = Point(x: 20, y: 10) // set 발동
print(bShape.origin)
print(bShape.center)