Junior — Middle
Comment implémenter une initialisation paresseuse d'une propriété pour qu'elle ne soit créée qu'à la première utilisation?
sobes.tech IA
Réponse de l'IA
В Swift для ленивой инициализации свойства используется ключевое слово lazy. Оно гарантирует, что свойство будет создано только при первом обращении к нему.
Пример:
class DataManager {
lazy var data: [String] = {
print("Инициализация data")
return ["One", "Two", "Three"]
}()
}
let manager = DataManager()
// Свойство data еще не инициализировано
print(manager.data) // При первом вызове происходит инициализация
Такой подход полезен, когда инициализация свойства ресурсоемкая и не нужна сразу при создании объекта.