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