zoukankan      html  css  js  c++  java
  • StoryBoard中使用segue传值

    需求描述:

    故事板(StoryBoard)中,ViewController1与ViewController2有一条segue连线。点击ViewController1中的按钮跳转至ViewController2,并且从ViewController1中传递值给ViewController2。

    实现:

    ViewController1.m

    在点击按钮时进行视图跳转。

    _res = @"YES";
    [self performSegueWithIdentifier:@"gameover" sender:sender];

    添加下面的事件方法,该方法在视图跳转时被触发。

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
       if([segue.identifier isEqualToString:@"gameover"]) //"gameover"是segue连线的标识
        {
           id theSegue = segue.destinationViewController;
          [theSegue setValue:_res forKey:@"result"];
        }
    }

    @"gameover"是segue的identifier,_res是要传的值,为NSString类型,传递的形参取名为result。

    ViewController2.h

    定义一个属性来接受segue传递过来的值:

    @property(nonatomic,weak)NSString *result;

    ViewController2.m

    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"接收到的值为: %@",self.result);
        if ([self.result isEqualToString:@"YES"]) {
            self.res.text = @"你赢了";
            self.res.textColor = [UIColor greenColor];
        }
        // Do any additional setup after loading the view.
    }

    可以输出传递的值,若传的值为@"YES",则输出"你赢了"。

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/luoyihao/p/12831552.html
Copyright © 2011-2022 走看看