geri222
11/30/2018 - 6:52 AM

Observe class attribute chages

Observe class attribute changes with the observe method. Only works with NSObject inharitance and @obj dynamic attributes, but inbult in UIKit and other libraries.

class Person: NSObject {
  
  @objc dynamic var name: String
  
  init(name: String){
    
    self.name = name
  }
}

let taylor = Person(name: "taylor Swift")

taylor.observe(.\name, options: .new) {
  person, change in
    print(person.name)
}

taylor.name = "Justin" //prints Justin
taylor.name = "Ed" //prints Ed