界面间传值:将前一个界面 的值传到后一个界面 (从前往后传)
方法:采用属性传值 步骤:1.后一个界面定义属性.接收传入的值.(属性的类型和值的类型相同) 2.取出输入框的文字 UITextField * tf = (UITextField *)[self.view viewWithTag:100]; secondViewController * second = [[secondViewController alloc]init]; 将要传递的数据存入仓库(单例)中 [Singleton shardSingleton].text = tf.text; second.text = tf.text; second.delegate = self; QCtext ((NViewController *)self.navigationController).text = tf.text; [self.navigationController pushViewController:second animated:NO]; [second release];- (void)viewWillDisappear:(BOOL)animated
{ 界面间传值:第二种情况:将后一个界面的值传到前一个界面 (从后往前传) 方法: 代理初值 步骤: 1.定义协议. 在后面类中定义协议(传值的方法定义协议) 2. 给后面类添加一个代理属性 3.将代理设置为前一个界面的对象让它服从协议,实现方法(传值方法就变成了,协议中的方法), 4.在后面类中通过代理,调用该传值方法. 传值: UITextField * tf = (UITextField *)[self.view viewWithTag:100]; 代理调用方法,将值传入 判断对象是否实现方法 if ([self.delegate respondsToSelector:@selector(passValue:)]) { [self.delegate passValue:tf.text]; } [super viewWillDisappear:animated]; NSLog(@"%s",__FUNCTION__);}