Junior — Middle
Můžete vysvětlit koncept lenivé evaluace nebo odkládání vykonávání úkolů v programování?
sobes.tech AI
Odpověď od AI
Líné hodnotení (lazy evaluation) je technika programování, při které je výpočet hodnoty odkládán do okamžiku, kdy je skutečně potřeba. V iOS a Swift se to často používá k optimalizaci výkonu a úspoře zdrojů.
Například vlastnost může být deklarována jako lazy var, a její inicializace proběhne až při prvním přístupu:
class DataLoader {
lazy var data: [String] = {
print("Načítání dat...")
return ["Jedna", "Dva", "Tři"]
}()
}
let loader = DataLoader()
// Dokud nebudeme přistupovat k loader.data, data se nenačtou
print(loader.data) // Zde dojde k inicializaci a výstupu
To je užitečné, pokud je inicializace náročná na zdroje a nemusí být ihned nebo vůbec potřeba.