swift中代理的使用方法
一,在视图界面
1.制定协议
protocol VistorLoginViewDelegate:NSObjectProtocol {
//设置协议方法
func visitorViewRegisterViewSelected()
}
扩展:
//在swift中,制定协议需要遵守NSObjectProtocol协议,除了类可以遵守协议,结构体也可以遵守协议
//在OC中我们制定协议,通常继承自NSObject,我们可以这样理解,所有继承自NSObject的对象都可以实现协议方法(同样我们也可以指定哪些对象可以实现我们制定的协议方法)
2.用weak定义代理
weak var delegate:VistorLoginViewDelegate?
3.判断代理是否存在,让代理去执行方法
func clickButton() {
//实际上 ? 代替了responsed
delegate?.visitorViewRegisterViewSelected()
}
二,在控制器界面
4.遵守协议
,VistorLoginViewDelegate { //遵守协议
5.设置代理为self
visitorLoginView?.delegate = self
6.实现协议方法
func visitorViewLoginDidSelected() {
print("\(__FUNCTION__)")
}