Protocol(协议)
一个协议是由一组方法组成,这组方法分为两类,@required:必须实现的方法 ,@optional:可选 实现的方法(可以全部都不实现)。一个类遵守某个协议,则相当于声明了一系列该协议中定义的方法。若一个类遵守某个协议,则可以视为该类具有某种功能。而如果一个类定义了某个协议,则是该类希望别的类来替它实现的功能。
Delegate(委托)
委托和协议是有着紧密的联系的。类A自己不具备某项功能,而委托类B来实现该项功能,代理类(类B)承担实际的功能。往往这种情况里,类A定义了协议和协议里的方法(即希望类B完成的功能),而类B遵守了该协议,实现具体的功能,完成代理的任务。
生成协议文件
代理传值
新建一个协议,协议的名字一般是由“类名+Delegate”
@protocol ViewControllerBDelegate // 代理传值方法
- (void)sendValue:(NSString *)value;
在需要用到的地方实现该协议