Swift的delegate代理与OC的delegate代理对比

OC中使用代理

委托方(子控制器)委托方需要实现创建协议 、声明协议方法

创建一个代理属性(weak声明)

执行协议方法

 判断代理是实现该方法,避免carsh

代理方(主控制器)代理方需要实现遵守(继承)协议

将代理设为自己

实现代理方法

Swift3.0 中代理的使用方法 

委托方(子控制器)委托方需要实现创建协议 、声明协议方法

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

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

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

创建一个代理属性(weak声明)

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

//'?'代替了responsed

代理方(主控制器)代理方需要实现遵守(继承)协议

设置代理为self

实现协议方法

   

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容