Sobes.tech
Junior — Middle

Kann man eine Closure als Klassenattribut deklarieren?

sobes.tech KI

Antwort von AI

Ja, in iOS (Swift oder Objective-C) können Closures als Attribute (Eigenschaften) einer Klasse deklariert werden. Dies wird häufig verwendet, um Callbacks zu übergeben oder Ereignisse zu behandeln.

Zum Beispiel in Swift:

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

    func doSomething() {
        // Eine Aufgabe ausführen
        // ...
        // Closure aufrufen, wenn sie gesetzt ist
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Aufgabe abgeschlossen")
}
obj.doSomething()

Dieser Ansatz ermöglicht eine flexible Konfiguration des Verhaltens der Klasse von außen, indem die Logik durch Closures übergeben wird.