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.