Swift - Using Class Property Observers


Swift lets you add observers to your properties.

These are code that can run just before or after a property's value changes.

To create a property observer, add braces after your property and include willSet and didSet blocks.

These blocks each get passed a parameter.

willSet is called before the property's value changes, and is given the value that is about to be set.

didSet is given the old value:


class MyClass { 
    var number  : Int = 0 { 
        willSet(newNumber) { /*from w w w .java  2s .  co m*/
            print("About to change to \(newNumber)") 
        didSet(oldNumber) { 
            print("Just changed from \(oldNumber) to \(self.number)!") 

var observer = MyClass() 
observer.number = 4


Property observers don't change anything about how you actually work with the property.

They just add further behavior before and after the property changes.

Related Topic