准备工作,需要自己定义一个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] 然后用文本去接收值