Segue回传数据

iOS提供Unwind Segue,帮助我们从一个页面回到另一个页面,下面演示使用方法:
1. 创建一个Single View Application,新建一个ViewController,同时创建一个类SecondViewController与之绑定。在第一个ViewController上创建一个button,并添加一个Segue到SecondViewController,如下图所示:
这里写图片描述
2. ViewController代码如下:

#import "ViewController.h"

@interface ViewController ()

//创建一个NSString类型到property,用来保存回传的数据
@property (strong, nonatomic) NSString *dataFromSecond;

@end

@implementation ViewController

- (void)viewWillAppear:(BOOL)animated
{
    //输出回传的数据
    NSLog(@"data = %@",_dataFromSecond);
}

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}


//backFromSecond是Unwind方法,除了backFromSecond这个名字可以自己定义外,其它部分是固定的,这个方法在从SecondViewController跳转回来之前执行
- (IBAction)backFromSecond:(UIStoryboardSegue *)unWindSegue
{
    ViewController *vc = [unWindSegue destinationViewController];
    [vc setValue:@"haha" forKey:@"dataFromSecond"];
}


@end
  1. 打开storyboard,在SecondViewController的页面上添加一个button,标题改为”back”,在button上ctrl+点击,并拖动鼠标,会出现一个连线,将连线连接到页面上方的Exit图标上,如下图所示:
    这里写图片描述
  2. 松开鼠标,弹出一个对话框,选择第二步中定义的backFromSecond方法,Unwind Segue创建完毕。选择框如下图所示:
    这里写图片描述
    注意:由于在第二步中先创建了backFromSecond方法,因此在拖动到Exit图标上的时候,松开鼠标会有选择框。如果没有创建方法,则无法拖动成功。因此要先在需要返回的ViewController上创建方法。
  3. 运行程序,效果如下图所示:
    这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值