Назад к вопросам
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) // При первом вызове происходит инициализация
Такой подход полезен, когда инициализация свойства ресурсоемкая и не нужна сразу при создании объекта.