Smart Device/Swift
Swift mutating
언덕너머에
2015. 6. 9. 09:55
- mutating
기본적으로 값 타입의 경우는 인스턴스가 생성되고 나서, 인스턴스 매서드에서 해당 인스턴스의
속성을 변경 할 수 없도록 되어 있다. 그러나 값 타입의 경우라고 하더라도 인스턴스 매서드를
사용하여 구조체와 열거형의 속성을 변경할 필요가 있는 경우가 발생한다. 이 경우에 mutating이라는
키워드를 사용하면 된다.
struct Point { var x = 0.0, y = 0.0 mutating func moveByX(deltaX: Double, y deltaY: Double) { x += deltaX y += deltaY } } var somePoint = Point(x: 1.0, y:1.0) somePoint.moveByX(2.0, y: 3.0)