美文网首页
iOS Block界面反向传值

iOS Block界面反向传值

作者: 孙伟胜 | 来源:发表于2020-03-23 10:56 被阅读0次

假如我们有一个需求如下:界面A上面有一个button、一个label。从界面A跳转到界面B,在界面B的输入框中输入字符串,在界面A的label上显示。这是一个典型的反向传值的例子。这个例子的核心是:“在界面B的输入框中输入字符串,在界面A的label上显示”。Block实现反向传值。

1、在第二个视图控制器的.h文件中定义声明Block属性:

//定义block
@property (nonatomic,copy) void (^NextViewControllerBlock)(NSString *tfText);
1、在第二个视图控制器的.h文件中定义声明Block属性:

//定义block
@property (nonatomic,copy) void (^NextViewControllerBlock)(NSString *tfText);

2、在第一个视图中获得第二个视图控制器,并且用第二个视图控制器来调用定义的属性:

@interface AViewController ()
@property (weak, nonatomic) IBOutlet UILabel *nextVCInfoLabel;

@end
- (IBAction)btnClicked:(id)sender {
    
    NextViewController *nextVC = [[NextViewController alloc]init];
    nextVC.NextViewControllerBlock = ^(NSString *tfText){
        self.nextVCInfoLabel.text = tfText;
    };
    
    [self.navigationController pushViewController:nextVC animated:YES];
}

原文链接

相关文章

网友评论

      本文标题:iOS Block界面反向传值

      本文链接:https://www.haomeiwen.com/subject/tcoushtx.html