Sobes.tech
Junior — Middle

Lze deklarovat uzávěr jako atribut třídy?

sobes.tech AI

Odpověď od AI

Ano, v iOS (Swift nebo Objective-C) lze deklarovat uzávěry (closures) jako atributy (vlastnosti) třídy. To se často používá k předávání zpětných volání nebo k obsluze událostí.

Například ve Swift:

class MyClass {
    var completionHandler: (() -> Void)?

    func doSomething() {
        // Provedení nějaké práce
        // ...
        // Zavolání uzávěru, pokud je nastaven
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Úkol dokončen")
}
obj.doSomething()

Tento přístup umožňuje flexibilně konfigurovat chování třídy zvenčí, předáváním logiky přes uzávěry.