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