1
저는 Apple의 Swift Programming Language 책을 통해 일하고 있으며 다음 예제를 발견했습니다. 계속하기 전에 올바른 개념을 갖고 있는지 확인하고 싶습니다.self 속성으로 변이 함수 이해하기
struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, deltaY: Double) {
self = Point(x: x + deltaX, y: y + deltaY)
}
}
"이 책에는"moveByX 함수가 x 및 y 값이 대상 위치에있는 새로운 구조를 만듭니다. "라고되어 있습니다.
이렇게하면 이렇게됩니다.
var myPoint = Point(x: 1, y: 1)
myPoint.moveByX(2, deltaY: 2)
내 이해 Swift는 메모리에서 값 1, 1로 myPoint 구조체를 해제하고 더 이상 사용할 수 없습니다. 그 자리에 새 값이 3, 3 값으로 만들어집니다. 맞습니까?
var myPoint는 x = 3 및 y = 3 인 점이됩니다. 그 밖에 알아야 할 것이 있습니까? :) –
Obj-C와 iOS에 대한 제한된 지식으로 인해 메모리 관리가 걱정되었습니다. 이 예제에서는 문제가되지 않지만 과거에는 dealloc 및 참조 카운팅과 같은 것들이 내 머리를 회전시키고 나에게 겸손하게 해주 었으며 Obj-C 학습을 떠나는 것이 었습니다. Swift는이 점을 많이 제거하지만 제 이해가 올바른지 확인하고자합니다. :-) – razorpit