您的位置:首页 > 移动开发 > IOS开发

IOS—两个ViewController间传值

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

首先看看工程结构:



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

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





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

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

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

[cpp] view
plaincopy

- (IBAction)passValueButton:(id)sender {

//构建UserEntity对象

UserEntity *userEntity = [[UserEntity alloc] init];

userEntity.userName = self.userNameTextFiled.text;

userEntity.gendar = self.gendarTextField.text;

userEntity.age = [self.ageTextField.text intValue];

SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:[NSBundle mainBundle]];

//设置SecondViewController中的值

secondView.userEntity = userEntity;

//跳转界面

[self presentModalViewController:secondView animated:YES];

[userEntity release];

[secondView release];

}

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

[cpp] view
plaincopy

- (void)viewDidLoad

{

[super viewDidLoad];

//显示从前一个界面传过来的值

self.userNameTextField.text = self.userEntity.userName;

self.gendarTextField.text = self.userEntity.gendar;

//NSString转换为int型

self.ageTextField.text = [NSString stringWithFormat:@"%d",self.userEntity.age];

}

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

源码下载地址:源码下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: