Блок (замыкание) как свойство класса в Swift
event Aug 18, 2016 at 17:33
Пример использования блока (замыкания) как свойства класса в Swift. Инициализируется как nil.
class ChatViewController: UIViewController {
var someClosure: (() -> Void)! // nil
var anotherClosure: ((arg: Double) -> Bool)! // nil
func executeClosures() {
if self.someClosure != nil {
self.someClosure()
}
if self.anotherClosure != nil {
let boolResult = self.anotherClosure(arg: 2.0)
}
}
func addSelfClosure(closure: (() -> Void)!) {
self.someClosure = closure
}
func printSomething() {
self.addSelfClosure() {
print("closure called")
}
self.executeClosures() // prints: closure called
}
}