1.Delegate 代理就是自己不想干,通过别人帮你干
2.Closure 闭包也可以了解为一种特殊代理,一种函数式编程形式
*使用场景:
Delegate 一般使用在行为上
Closure 一般用来实现前后两个控制器的反向传值
闭包还可以用于: 自定义 View 与 ViewController 之间
CustomView.swift
class ModalView: UIView {
var closeButtonBlack: (() -> Void)? //1 声明闭包 - 无参数类型
...........
.....
@IBAction func closeButton(sender: UIButton) {
self.closeButtonBack?() // 2
}
}
ViewController.swift
//3 使用例子
let myView = CustomView()
myView.closeButtonBack = ({() -> Void in
print("666666")
})
网友评论