一、认识Block
1. 声明以及实现
返回值 (^Block名称) (参数类型) = ^(形参){
};
2. 调用
void (^muti)(int ,int) = ^(int a,int b){
int sum = a*b;
NSLog(@”%d”,sum);
};
muti(3,4);
二、认识委托代理
3. 三要素
协议:委托方类的类名 + Delegate 用来规定协议方法
委托方:主动方 主动发送消息 (持有协议的id指针 作为属性来写用weak修饰符修饰)
被委托方:实现规定的协议方法<==>代理方<==>被动方
- 使用场景
正向传值 当某个对象不能够 或者是说 没有能力去完成某个功能的时候,就使用委托代理模式,找委托人去完成功能。
反向传值/代理的回调 当某个功能不知道谁去完成 或者是说 不知道谁能够完成,这个情况下有数据需要返回,就使用委托代理模式。