Junior — Middle
Czy można zadeklarować zamknięcie jako atrybut klasy?
sobes.tech AI
Odpowiedź od AI
Tak, w iOS (Swift lub Objective-C) można deklarować zamknięcia (closures) jako atrybuty (właściwości) klasy. Często służy to do przekazywania callbacków lub obsługi zdarzeń.
Na przykład, w Swift:
class MyClass {
var completionHandler: (() -> Void)?
func doSomething() {
// Wykonaj jakieś zadanie
// ...
// Wywołaj zamknięcie, jeśli jest ustawione
completionHandler?()
}
}
let obj = MyClass()
obj.completionHandler = {
print("Zadanie zakończone")
}
obj.doSomething()
Takie podejście pozwala elastycznie konfigurować zachowanie klasy z zewnątrz, przekazując logikę przez zamknięcia.