关于block的传值
来源:互联网 发布:欧缇丽淘宝官网是真假 编辑:程序博客网 时间:2024/06/06 03:07
#import <UIKit/UIKit.h>@interface BViewController : UIViewController@property(nonatomic,strong)void (^ returnStr) (NSString *str);- (void)returnStr:(void (^) (NSString *str))str;@end
1.首先要更正自己的一个观点,属性为block函数是能够被strong修饰的(自己不知道怎么搞的,一直以为其职能被assign修饰)
2.那就是关于block的传值了,直接代码
在A控制器中
- (IBAction)tiaoZhuan:(id)sender { //A控制器中调用B控制器中带有block函数的方法 [self.BVC returnStr:^(NSString *str) { self.label.text = str; [self.view setNeedsDisplay]; }]; [self presentViewController:self.BVC animated:YES completion:nil];}
在B控制器中 .h文件
#import <UIKit/UIKit.h>@interface BViewController : UIViewController//这里的block属性需要用strong修饰@property(nonatomic,strong)void (^ returnStr) (NSString *str);- (void)returnStr:(void (^) (NSString *str))str;@end
.m文件
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"B-viewDidLoad"); UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; [button setTitle:@"返回" forState:UIControlStateNormal]; [button addTarget:self action:@selector(back:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button];}- (void)returnStr:(void (^) (NSString *str))str { self.returnStr = str; //str(@"我是反回来的");}//返回函数- (void)back:(UIButton *)sender { self.returnStr(@"我是反回来的"); [self dismissViewControllerAnimated:YES completion:nil];}
0 0
- 关于block的传值
- 关于Block页面传值的使用
- 关于iOS block传值的理解
- 关于block传值的问题心得
- 关于block界面传值
- 关于Block页面传值
- 关于BLOCK逆向传值和PickerView的使用
- 关于block方法里面套用block实现传值
- 关于Block的使用
- 关于block的应用
- 关于block的使用
- 关于block的基础
- 关于block的OC
- block 初探 关于block的用法
- 关于Block的一些基础
- OC_关于block的使用
- 关于block的那些事
- 关于block的一些使用
- 每天进步一点点:$为什么会出现在js里呢
- Java之学习笔记(21)-------------final && static
- 关于微信ShareSDK的简单分享
- 关于UICollectionViewController的header和foot视图
- Android UI 基础之ViewPager的使用
- 关于block的传值
- iOS 原生二维码扫描
- 二级指针
- 学到的2个新的词 IBDesignable IBInspectable
- 关于swift和OC混编
- ViewController转场动画的切换
- CGContext详解
- CALayer CAAnimation
- IOS关于图片上传