Junior — Middle
Kako implementirati lenjivu inicijalizaciju svojstva tako da se ono kreira samo pri prvom pristupu?
sobes.tech АИ
Одговор од АИ
В Swift для ленивой инициализации свойства используется ключевое слово lazy. Оно гарантирует, что свойство будет создано только при первом обращении к нему.
Пример:
class DataManager {
lazy var data: [String] = {
print("Инициализация data")
return ["One", "Two", "Three"]
}()
}
let manager = DataManager()
// Свойство data еще не инициализировано
print(manager.data) // При первом вызове происходит инициализация
Такой подход полезен, когда инициализация свойства ресурсоемкая и не нужна сразу при создании объекта.