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.