Sobes.tech
Junior — Middle

Vai var deklarēt slēgšanu kā klases atribūtu?

sobes.tech AI

Atbilde no AI

Jā, iOS (Swift vai Objective-C) var deklarēt slēdzenes (closures) kā klases atribūtus (īpašības). To bieži izmanto, lai nodotu atpakaļzvanus (callback) vai pārvaldītu notikumus.

Piemēram, Swift:

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

    func doSomething() {
        // Veikt kādu uzdevumu
        // ...
        // Izsaukt slēdzeni, ja tā ir definēta
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Uzdevums pabeigts")
}
obj.doSomething()

Šī pieeja ļauj elastīgi konfigurēt klases uzvedību no ārpuses, nododot loģiku caur slēdzenēm.