Swift3.0 中代理的使用方法

26 篇文章 0 订阅

转载:http://blog.csdn.net/feng2qing/article/details/50850773


Swift3.0 中代理的使用方法

一,在视图界面

1.制定协议(不写NSObjectProtocol暂时不会报错,但是写属性是无法写weak)

protocol DelegateName:NSObjectProtocol {

    //设置协议方法

    func method()

}

//Swift,制定协议需要遵守NSObjectProtocol协议,除了类可以遵守协议,结构体也可以遵守协议

//OC中我们制定协议,通常继承自NSObject,可以这样理解,所有继承自NSObject的对象都可以实现协议方法(同样我们也可以指定哪些对象可以实现我们制定的协议方法)


2.用weak定义代理

weak var delegate:DelegateName?


3.判断代理是否存在,让代理去执行方法

func clickButton() {

    //'?'代替了responsed

    delegate?.method()

}


,在控制器界面

1.遵守协议

class ViewController:UIViewController,DelegateName { //遵守协议


2.设置代理为self

customView?.delegate = self


3.实现协议方法

func method() {

    print(#function)

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值