Sobes.tech
Junior — Middle

Poate fi declarat un închidere ca atribut al clasei?

sobes.tech AI

Răspuns de la AI

Da, în iOS (Swift sau Objective-C) se pot declara closures ca atribut (proprietate) a unei clase. Acest lucru este adesea folosit pentru a transmite callback-uri sau pentru a gestiona evenimente.

De exemplu, în Swift:

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

    func doSomething() {
        // Execută o anumită sarcină
        // ...
        // Apelează closure dacă este definită
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Sarcina a fost finalizată")
}
obj.doSomething()

Această abordare permite configurarea flexibilă a comportamentului clasei din exterior, transmitând logica prin closures.