重新定义:typedef void (^ReturnTextBlock)(NSString *showText);
声明一个block变量:@property (nonatomic, copy) ReturnTextBlock returnTextBlock;
block的调用方法:- (void)returnText:(ReturnTextBlock)block;
block的调用方法实现代码:- (void)returnText:(ReturnTextBlock)block {
self.returnTextBlock = block;
}
-(void)FirstBtnPressed
{
//用blockSelf修饰blockSelf.label 避免block块内部_label被循环引用
__weak ViewController *blockSelf = self;
ShowViewController *orderVC=[[ShowViewController alloc]init];
//block返回值(跟代理写法挺类似的,就是语法不同,代理的话是此处是self.delegate=self;)
[orderVC returnText:^(NSString *showText) {
blockSelf.label.text=showText;
}];
[ self presentViewController:orderVC animated: YES completion:nil];
}
-(void)SecondBtnPressed
{
//只要在变量前面增加__block,在block里面就可以修改该变量的值。当然也有其他方法如添加static等。
[self dismissViewControllerAnimated:YES completion:^{
//在使用block前需要对block指针做判空处理。
//不判空直接使用,一旦指针为空直接产生崩溃。
if (self.returnTextBlock != nil) {
self.returnTextBlock(self.text.text);
NSLog(@"text==%@",self.text.text);
}
}];
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有