0
点赞
收藏
分享

微信扫一扫

两个ViewController间传值(一)


IOS中,在两个ViewController之间传值有多种方式,这里学习其中一种,利用临时变量在两个ViewController之间传值,这可能不是最好的传值方式,但是也是一种选择。

首先看看工程结构:

两个ViewController间传值(一)_ios

其中ViewController是第一个界面,SecondViewController是第二个界面,UserEntity为一个实体对象,用来作为在两个界面间传值的媒介。

接下来看看最后实现的效果:

           

两个ViewController间传值(一)_ios_02

                 

两个ViewController间传值(一)_bundle_03

在第一个界面输入完毕后,点击“传值“按钮就可以跳转到第二个界面,并显示在第一个界面中输入的值,按顶部的Back按钮则返回第一个界面。

下面来看看实现中的关键代码;

单击”传值“按钮时触发的代码:

 


[cpp]  ​​view plain​​​ ​​copy​​


  1. - (IBAction)passValueButton:(id)sender {
  2. //构建UserEntity对象
  3. UserEntity *userEntity = [[UserEntity alloc] init];
  4. userEntity.userName = self.userNameTextFiled.text;
  5. userEntity.gendar = self.gendarTextField.text;
  6. userEntity.age = [self.ageTextField.text intValue];

  7. "SecondViewController" bundle:[NSBundle mainBundle]];
  8. //设置SecondViewController中的值
  9. secondView.userEntity = userEntity;
  10. //跳转界面
  11. [self presentModalViewController:secondView animated:YES];

  12. [userEntity release];
  13. [secondView release];
  14. }


在第二个界面显示传过来值的方法:

 

 


[cpp]  ​​view plain​​​ ​​copy​​


  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];

  4. //显示从前一个界面传过来的值
  5. self.userNameTextField.text = self.userEntity.userName;
  6. self.gendarTextField.text = self.userEntity.gendar;
  7. //NSString转换为int型
  8. "%d",self.userEntity.age];

  9. }


以上就实现了一个简单的在两个ViewController之间传值的方式,下一次将使用代理模式在两个ViewController之间进行传值。

 


举报

相关推荐

0 条评论