传值总结

来源:互联网 发布:华三端口聚合配置 编辑:程序博客网 时间:2024/04/28 06:32

准备工作,需要自己定义一个button,两个controller。

1.属性传值:

需要在第二个页面,定义一个属性,然后在第一个页面的点击事件里面实现,secondVC.label = textfield.text ,在第二个页面用label.text去接受,这里传的是NSString类型的值。如果是导航栏一类的,是需要push的,而不是present。属性传值是正向传值。

2.代理传值:

需要在第二个页面.h设置协议,协议方法,以及定义一个协议属性,(这里只讲诉一个传递值的方法),然后需要在.m文件的点击事件中实现协议,判断协议存在,以及协议是否响应两个方法,然后实现协议方法,在第一个页面声明协议,设置代理人,然后实现协议方法。

3.单例传值

创建一个类,继承于NSObject,一般是Singleton,在.h文件写一个提供给外部调用的类方法和属性,在.m文件实现类方法,先定义一个静态变量,置为nil,dispatch_once_t onceToken   dispatch_once (&onceToken)  里面初始化上面置为nil的对象  在controller文件引用头文件,然后定义一个Single *ones = [Single 类名字];  ones.value =  self.textfield.text    在另一个页面 textfield.text = [Singleton  类名字].value   接收  

4.通知传值

首先需要在你发送消息的页面写一个消息通知,然后在你需要接受消息的页面进行通知的注册,添加响应事件,然后在方法里面写一个接受通知的接受值,然后这里记住userInfo是一个不可变的数组,所以nsdictionry  *dic = [notification  userInfo] 然后用文本去接收值  




 


0 0
原创粉丝点击