// 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)")
}
}
}