美文网首页
iOS block传值

iOS block传值

作者: 夏天爱西瓜汁 | 来源:发表于2017-11-28 11:21 被阅读5次

2016.5.30

在A控制器有一个button,点击push到B界面,B界面的输入框输入文字后,返回A界面的时候,将输入框内的文字传给A界面并在label显示。

1.先在B界面声明block属性

typedef void (^ShowTextBlock)(NSString *showText); // 为声明的block定义一个名字

@interface BController : UIViewController

@property (nonatomic, copy)  ShowTextBlock   showTextBlock; // 定义block的一个属性

-(void)showText:(ShowTextBlock)block; // 在A界面传进来一个block函数

2.实现B界面的block方法

-(void)showText:(ShowTextBlock)block {

self.block = block;

}

-(void)viewWillDisappear:(BOOL)animated {

if(self.showTextBlock != nil) {

self.showTextBlock(self.textField.text); // 将输入框的文字用block传出去;

}

}

3.在A界面引入B界面,并用B界面调用定义的block函数

- (void) viewDidLoad {

[super viewDidLoad];

BController *controller = [[BController alloc] init];

[controller showText:^(NSString *showText) {

self.showLabel.text = showText;

}

}

相关文章

网友评论

      本文标题:iOS block传值

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