Sobes.tech
Junior — Middle

Je možné deklarovať uzáver ako atribút triedy?

sobes.tech AI

Odpoveď od AI

Áno, v iOS (Swift alebo Objective-C) je možné deklarovať closures ako atribúty (vlastnosti) triedy. To sa často používa na odovzdanie callbackov alebo na spracovanie udalostí.

Napríklad v Swift:

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

    func doSomething() {
        // Vykonanie nejakej úlohy
        // ...
        // Zavolanie closure, ak je nastavené
        completionHandler?()
    }
}

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

Tento prístup umožňuje flexibilne konfigurovať správanie triedy zvonku, odovzdávaním logiky cez closures.