Was ist der Zweck von willSet und didSet in Swift?

Swift hat eine Eigenschaftsdeklarationssyntax, die der von C # sehr ähnlich ist: var foo: Int { get { return getFoo() } set { setFoo(newValue) } } Es hat aber auch willSetund didSetAktionen. Diese werden vor bzw. nach dem Aufruf des Setters aufgerufen. Was ist ihr Zweck, wenn man bedenkt, dass...