[예제] KVO

J.Noma·2021년 11월 2일
0
// 1. NSObject 상속
// 2. dynamic 부여 
class 감시당하는자: NSObject {
    dynamic var age: Int
    
    init(age: Int) {
    	self.age = age
    }
}

struct 감시자 {
    var person = 감시당하는자(age: 20)
    
    init() {
    	// 3. 감시기능 적용
        // - _ : 해당 인스턴스 내에서 구체적으로 무엇을 감시할지
        // - option : 어떤 변화들을 감시할지 배열로 (.init/.new/.old가 있음)
        // - handler : (누가, 어떤값으로) in 
        //             말 그대로 감시되면 어떤 행위를 할지 클로저
    	person.observe(\.age, option: [.new]) { (person, newValue) in
        	print("newValue is \(newValue)")
        }
    }
}
profile
노션으로 이사갑니다 https://tungsten-run-778.notion.site/Study-Archive-98e51c3793684d428070695d5722d1fe

0개의 댓글