Swift version: 5.6
You should already be familiar with the concept of property observers in Swift – those willSet
and didSet
blocks you can attach to property on classes and structs. Well, those same blocks can be attached to local and global variables as well, allowing you to respond to changes easily.
The syntax is identical: create your variable, give it an initial value, then provide willSet
and/or didSet
closures inside braces, like this:
var name = "Taylor Swift" {
didSet {
print("Name changed to \(name)!")
}
}
name = "Justin Bieber"
That will print “Name changed to Justin Bieber!” when run.
TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and free gifts!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 8.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.