Sobes.tech
Junior — Middle

Може ли да се обяви затваряне като атрибут на клас?

sobes.tech AI

Отговор от AI

Да, в iOS (Swift или Objective-C) може да се обявяват closures като атрибути (свойства) на клас. Това често се използва за предаване на callback-и или обработка на събития.

Например, в Swift:

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

    func doSomething() {
        // Извършване на някаква работа
        // ...
        // Извикване на closure, ако е зададено
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Задачата е завършена")
}
obj.doSomething()

Този подход позволява гъвкаво настройване на поведението на класа отвън, като се предава логиката чрез closures.