Теория
Каким образом реализовать ленивую инициализацию свойства, чтобы оно создавалось только при первом обращении к нему?
В Swift для ленивой инициализации свойства используется ключевое слово lazy. Оно гарантирует, что свойство будет создано только при первом обращении к нему.
Читать ответ