프로퍼티가 변경될 때마다 자동실행되는 코드, 속성감시자
- 문법적 제약 -> 가변성이 있는 변수 저장 속성(var) 에서만 사용 가능하다.
- willSet블록과 didSet블록
Willset은 속성에 값이 저장 되기 직전에 호출 -> 새로 저장된 값은 파라미터로 전달 -> 파라미터 이름 생략시 newValue
didSet은 값이 저장된 직후에 호출 -> 속성에 새로운 값이 저장되어 있음 -> 이전 값이 파라미터로 저장되어 있음 oldValue
class Size {
var width = 0.0 {
willSet {
print(width, "=>", newValue)
}
didSet{
print(width, "=>", oldValue )
}
}
}
let s = Size()
s.width = 123
출력값
0.0 => 123.0
123.0 => 0.0
Author And Source
이 문제에 관하여(프로퍼티가 변경될 때마다 자동실행되는 코드, 속성감시자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@marintelli/프로퍼티가-변경될-때마다-자동실행되는-코드-속성감시자저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)