【初学】Objective-C学习笔记-委托代理(delegate)和协议(protocol)

来源:互联网 发布:java生成excel报表 编辑:程序博客网 时间:2024/05/22 02:04

委托代理(delegate)

把某个对象要做的事情委托给别的对象去做,那么别的对象就是这个对象的代理。(好比老板把这件事交给你去做,这个时候你就代替老板去做这件事,你就是老板的代表)

协议(protocol)

只进行方法的声明,不进行实现

 

代理和协议的共同使用,便可以进行界面间的传值。如果不用代理,继承协议,重写方法,根本么有什么用,还不如自己写方法呢,用协议多此一举,仅仅把方法名提出来。


委托代理(delegate)和协议(protocol)共同使用时:

可以分为三方:1.协议 2.委托方 3.被委托方

1.委托方知道协议中有这个方法,(可能过于繁忙,不想自己去做,毕竟协议中方法还要实现,)

2.这个时候,委托方就声明了一个具有协议中方法的代理

3.通过代理,他就把任务交给了已经实现协议中方法的被委托方(textfield.delegate=self  textfield是委托方 self是被委托方)

4.委托方只需要调用协议中的方法,被委托方就会去执行,将最终的结果进行反馈



代理传值DEMO

http://download.csdn.net/detail/xiaomi_dalianmifen/6376001

原创粉丝点击