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