Junior — Middle
Kas on võimalik deklareerida sulgemist klassi atribuudina?
sobes.tech AI
Vastus AI-lt
Jah, iOS-is (Swift või Objective-C) saab klassi omadustena (atribuutidena) deklareerida closures. Seda kasutatakse sageli tagasisidekutsumiste (callback-ide) edastamiseks või sündmuste töötlemiseks.
Näiteks Swiftis:
class MyClass {
var completionHandler: (() -> Void)?
func doSomething() {
// Teha mingi töö
// ...
// Kutsub välja closure, kui see on määratletud
completionHandler?()
}
}
let obj = MyClass()
obj.completionHandler = {
print("Ülesanne lõpetatud")
}
obj.doSomething()
See lähenemine võimaldab paindlikult konfigureerida klassi käitumist väljastpoolt, edastades loogika closures kaudu.