iOS传值-反向传值-代理(delegate)

在iOS中代理模式的主要作用是反向传值。

场景:  FirstViewController 跳转到SecondViewController, 然后又跳转回 FirstViewController,并将在SecondViewController中textField中输入的数据打印在FirstViewController的firstLabel上。    

步骤一.

    在SecondViewController中创建一个协议 TDdelegate


- (void)TrenData:(NSString *)valueString;为协议方法。该协议方法将会以代理的形式在FirstViewController实现。

啰嗦一句,协议方法分两种

@required //必须实现的方法。

在引入该协议时如果不实现@required下的方法,系统会产经警告

@optional // 可选实现的方法

默认情况下,协议内的方法都是requared必须实现的。



步骤二.

在SecondViewController中声明TDDelegate 协议变量


步骤三.FirstViewController也必须遵循该协议,包含TDDelegate协议。(因为该协议写在“SecondViewController.h”中,FirstViewController包含了这个.h)

步骤四.在FirstViewController实现协议中的方法,firstLabel是FirstViewController中的一个UILabel对象;

步骤五.从FirstViewController进入SecondViewController时设置代理;

步骤六.从SecondViewController回到FirstViewController是,将SecondViewController中的secondTextField的输入值通过协议方法,回传给FirstViewController。

效果如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容