Sobes.tech
Junior — Middle

Как да реализираме ленивата инициализация на свойство, така че да се създава само при първия му достъп?

sobes.tech AI

Отговор от AI

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

Пример:

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

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

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