Sobes.tech
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.