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.