Ключевое слово lazy используется для отложенной инициализации свойства.
Свойство с lazy инициализируется только при первом доступе к нему. Это полезно для:
lazy-свойства должны быть либо:
var), так как их значение может измениться при первом доступе.willSet, didSet) до первого доступа.swift