Different ways to observe properties in Swift

Many programming techniques involve observing and reacting to changes in state. In Swift, we use properties to represent the state of our types. In this post, Jesse Squires provides an overview of how we can observe changes to such properties and explains why he decided not to include a mechanism for observing state in his open-source library, Foil.