iOS简单传值

1. 正向传值

  • 使用场景:界面 A 跳转界面 B 的同时,向界面 B 传递值,即上级向下级传递
  • 步骤:
    1. 在界面 B 的 .h 文件中公开声明一个属性

      @interface ViewC1 : UIViewController
      
      //正向传值 1
      @property (nonatomic, copy) NSString *value_1;
      
      @end
      
    2. 导入界面 B 的头文件,并使用 B 创建出一个对象,对属性进行赋值

      ViewC1 *VC1 = [[ViewC1 alloc] init];
      VC1.value_1 = @"我是正向传值";
      [self.navigationController pushViewController:VC1 animated:YES];
      

2. block传值

  • 使用场景:类似代理,当协议中的方法只有一个,可以使用 block,此时可以不用写协议,相当于简化的代理
  • 步骤:
    1. 在发送者头文件中定义 block 属性

      @interface ViewC3 : UIViewController
      
      @property (nonatomic, copy) void (^changeMainVCBgColor)(UIColor *color);
      
      @end
      
    2. 在发送者 .m 文件合适位置调用 block

      //调用block
      if (self.changeMainVCBgColor) {
          self.changeMainVCBgColor([UIColor redColor]);
      }
      
    3. 在接收者中实现具体操作

      ViewC3 *VC3 = [[ViewC3 alloc] init];
      VC3.changeMainVCBgColor = ^(UIColor *color) {
          self.view.backgroundColor = color;
      };
      [self.navigationController pushViewController:VC3 animated:YES];



链接:https://www.jianshu.com/p/487bba00598c
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值