IOS界面通信-代理(协议)传值
代理传值在两个界面传值的时候,都是使用在从后向前传值。A为第一个视图控制器,B为第二个试图控制器。
场景:B向A传值。
第一步:首先在B的.h中声明协议以及协议方法。
第二步:紧接着在B的.h中声明一个协议属性:@property (nonatomic,assign) id<协议名称>delegate;
第三步:在B即将pop会前一个界面的时候,在pop方法上一行使用该协议方法传递数据[self.delegate 协议方法名称:(参数 实际上就是我们需要传递给上个界面的数据)]
第四步:在A的.m中,在push到B界面的push方法之前,B对象的初始化之后,指定A对象为代理—— (B对象).delegate = self; 一般情况下都会有一个黄色警告,如何解决呢?看第五步
第五步:在延展或者是.h中文件导入协议<协议名称>
第六步:在A的.m中实现协议方法,取得参数中的值,呈现在当前界面上。