Sobes.tech
Назад к вопросам
Junior — Middle
78

Каким образом реализовать ленивую инициализацию свойства, чтобы оно создавалось только при первом обращении к нему?

Ответ от нейросети

sobes.tech AI

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

Пример:

class DataManager {
    lazy var data: [String] = {
        print("Инициализация data")
        return ["One", "Two", "Three"]
    }()
}

let manager = DataManager()
// Свойство data еще не инициализировано
print(manager.data) // При первом вызове происходит инициализация

Такой подход полезен, когда инициализация свойства ресурсоемкая и не нужна сразу при создании объекта.