iOS数据回调三大利器——代理、通知与Block
引子:
在实际开发中我们经常遇到需要跨方法,甚至跨文件访问数据或传输信息,跨方法是比较简单的,只要我们声明一个全局变量,并为其赋值,就可以在同一个文件中的任意位置调用了。而跨文件传输数据,就要相对麻烦一点了,开发中常用的方法有代理、通知和block,下面我们将逐一介绍。
为了介绍这三种方法,我们写一个小Demo,对这三种方法进行说明。界面比较简单,搭界面我们就不在这里展示了,主要展示数据传递的方法,思路是点击相应按钮,把各自文件中的数据传过来,显示在上面的label。
一、代理
代理的使用,可以简单的概括为两个三步走,即创建代理的三步和使用代理的三步。
创建代理:
* 创建代理协议
* 声明代理方法
* 声明代理属性
使用代理:
* 遵守代理协议
* 设置代理对象
* 实现代理方法
下面我们直接上代码,实现点击代理按钮,上面的label显示“这是代理传的值”
#import <UIKit/UIKit.h>
@class Demo;
//创建代理协议
@protocol DemoDelegate <NSObject>
//声明代理方法
@optional
- (void)demoName:(