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.