Observed Property

권현석·2023년 2월 18일
0

Computed Property

목록 보기
5/6

Observed property

'getter'를 사용해서 어떤 property의 값을 계산하지 않고, 단지 그 값이 언제 바뀌는지 확인하고 싶을 때 computed property 대신에 사용하는 property이다.

var pizzaInInches: Int = 10 {
	willSet {
    	print(pizzaInInches) // 10
    	print(newValue) // 8
    }
    didSet {
    	print(oldValue) // 10
        print(pizzaInInches) // 8
    } 
}

pizzaInInches = 8

위의 코드에서 볼 수 있듯 willSetpizzaInInchesnewValue가 설정되기 직전에 실행되어 위와 같은 값을 갖게되고, didSetnewValue가 설정된 직후에 실행되어 위와 같은 값을 갖게된다.


응용

var pizzaInInches: Int = 10 {
	willSet {
    }
    didSet {
    	if pizzaInInches >= 18 {
        	print("Invalid size specified, pizzaInInches set to 18.")
			pizzaInInches = 18
		}
    } 
}

pizzaInInches = 33
print(pizzaInInches) // 18

didSet에 위와 같은 if구문 등을 사용해 observed property가 값이 바뀌는지 확인하고, 코드를 실행하기도 함을 알 수있다.

profile
wanna be an iOS developer

0개의 댓글