Ben B. answered 04/22/20
iOS Development with Swift and Xcode
A lazy property is a special property whose value is not assigned until it is used. This is useful for avoiding excessive computation while an instance is being initialized or for deferring the creation of a value until more information is available. Consider these two examples:
Both properties hold instances of UIButton, but button1 will be created when it's parent object is created, while button2 will only be created when it is referenced in other code.