이 간단한 클래스를 사용하면 컴파일러 경고가 나타납니다.
x
자체 setter / getter 내 에서 수정 / 액세스 시도
내가 이것을 이렇게 사용할 때 :
var p: point = Point()
p.x = 12
EXC_BAD_ACCESS를 얻습니다. ivar을 명시 적으로 백업하지 않고 어떻게해야합니까?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
사용 싶은 didSet
. Swift에서 Objective-C 또는 다른 언어를 구현할 때 속성이 다르게 동작합니다 set
. 참고 항목 @jack에서 아래에 대답 하고 예 didSet
@cSquirrel에서