iOS Block界面反向传值小demo

Posted xuzb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS Block界面反向传值小demo相关的知识,希望对你有一定的参考价值。

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

// 定义block
@property (nonatomic, copy) void (^NextViewControllerBlock)(NSString *tfText);
@interface NextViewController ()
 
@property (weak, nonatomic) IBOutlet UITextField *inputTF;
 
@end
 
- (IBAction)BtnAction:(id)sender {
   
    // 判断block是否为空
    if (self.NextViewControllerBlock) {
 
        self.NextViewControllerBlock(self.inputTF.text);
}
   
    [self.navigationController popViewControllerAnimated:YES];
}
 
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界面反向传值小demo的主要内容,如果未能解决你的问题,请参考以下文章

使用代理进行反向传值

iOS 代理设计模式的应用——反向传值

iOS 代理传值

iOS几种常见的页面传值方式

iOS之页面传值

IOS开发-block的使用