博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS:切换视图时,反向传递数据方法二:代理
阅读量:5810 次
发布时间:2019-06-18

本文共 2181 字,大约阅读时间需要 7 分钟。

代理:

  1、发送信息的控制器设置一个代理,并自定义一个代理的方法,用来传递数据

  2、接受信息的控制器遵循发送信息的控制器的协议

  3、接受信息的控制器设置发送信息的控制器的代理为自己self

  4、接受信息的控制器实现协议中的方法,即接受数据

 

  首先将控制器通过modal(push)方式联接,同时设置segue的identifier标识,因为这个identifier是与目的控制器唯一的识别的方式,最后再进行代码操作。

1、所有文件:

2、让FirstViewController关联自己的类ViewController(.h/.m)

3、让SecondViewController关联自己的类SecondViewController(.h/.m)

4、设置segue的identifier标识

 

具体代码如下:

FirstViewController控制器关联的ViewController类

1 #import "ViewController.h" 2 #import "SecondViewController.h" 3  4 @interface ViewController ()
5 @property (weak, nonatomic) IBOutlet UITextField *firstTextField; 6 7 @end 8 9 @implementation ViewController10 11 - (void)viewDidLoad {12 [super viewDidLoad];13 }14 15 //重写该方法,视图切换时,自动调用16 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender17 {18 if([segue.identifier isEqualToString:@"modal"])19 {20 //获取目的控制器21 SecondViewController *secondVC = segue.destinationViewController;22 23 //正向传数据24 secondVC.information = self.firstTextField.text;25 26 //设置代理27 secondVC.delegate = self;28 29 }30 }31 32 #pragma mark -
33 //反向接受信息34 -(void)FinishedInformation:(SecondViewController *)secondVC andinfo:(NSString *)infos35 {36 self.firstTextField.text = infos;37 }38 @end

SecondViewController控制器关联的SeconViewController类

1 #import "SecondViewController.h" 2  3 @interface SecondViewController () 4 @property (weak, nonatomic) IBOutlet UITextField *secondTextField; 5  6 @end 7  8 @implementation SecondViewController 9 //返回时的触发事件10 - (IBAction)returnClicked:(UIBarButtonItem *)sender11 {12     //反向传递数据13     [self.delegate FinishedInformation:self andinfo:self.secondTextField.text];14     15     //关闭模态窗口16     [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];17     //[self dismissViewControllerAnimated:YES completion:nil];18 }19 20 - (void)viewDidLoad {21     [super viewDidLoad];22     23     // 显示文本框内容(接受传递过来的数据)24     self.secondTextField.text = self.information;25 }26 27 @end

 

程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/4808528.html,如需转载请自行联系原作者
你可能感兴趣的文章
ios xmpp demo
查看>>
设计模式之-工厂模式、构造函数模式
查看>>
python matplotlib 中文显示参数设置
查看>>
数据库事务隔离级别
查看>>
os模块大全详情
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
从内积的观点来看线性方程组
查看>>
kali linux 更新问题
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>
廖雪峰javascript教程学习记录
查看>>
WebApi系列~目录
查看>>
限制CheckBoxList控件只能单选
查看>>
Java访问文件夹中文件的递归遍历代码Demo
查看>>
项目笔记:测试类的编写
查看>>
如何迅速分析出系统CPU的瓶颈在哪里?
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
使用《Deep Image Prior》来做图像复原
查看>>