lazy & property observers
Use lazy stored properties for deferred work and observe changes on stored properties with willSet/didSet.
Overview
This lesson focuses on two essentials: lazy stored properties and property observers (willSet/didSet).
lazy property
lazy defers creation until first access. Useful for expensive work or when self is needed.
struct DataLoader {
lazy var data: [Int] = {
print("Loading data...")
return [1, 2, 3]
}()
}
var loader = DataLoader()
print("before access")
print(loader.data) // triggers initialization only nowAll lessons in this course
- Properties & Subscripts
- lazy & property observers
- Computed properties with get/set
- Subscripts for custom indexing