block语法详解
来源:互联网 发布:爱克折弯机编程视频 编辑:程序博客网 时间:2024/06/15 20:54
Block语法帮助我们组织独立的代码段,并提高复用性和可读性。
这一集我们主要讲创建block和通过block进行方法回调。
先看一下block的结构
1.创建一个无参数无返回值的block
void(^myblock)() = ^(){ NSLog(@"first block"); }; / 调用 myblock();
2.创建一个无参数有返回值类型的block
void(^myblock)(NSString * )= ^(NSString * a) { }; myblock(@"123");3.创建一个多参数有返回值的block
NSArray*(^myblock)(NSString*,int)= ^(NSString * str,int b) { // 数组里都是指针对象类型的 int /float /double 用nsnumber转成对象类型 NSNumber * num = [NSNumber numberWithInt:b]; NSArray * array = [NSArray arrayWithObjects:str,num, nil nil]; NSLog(@"array = %@",array); return array; }; myblock(@"123",67);
接下来开始block 回调用来在视图控制器间传值
方法1 属性传值 假设一个字符串从B视图控制器传给A视图控制器
B.h:
1. 定义block 的型参类型 (类型名首字母大写哟)
2.设置一个这个类型的成员变量
typedef void(^secondblock)(NSString*); @interface SecongViewController : UIViewController { } @property(nonatomic,copy)secondblock secondb;
3.注意: block类型的没有*
B.m
// 调用用传给A self.secondb(@"hahaha");
方法2:方法传值假设从B视图控制器传给A视图控制器改变a的背景颜色
B.h
typedef void(^secondblock)(NSString*); //没有参数代表任意参数 在定义的时候 @interface SecongViewController : UIViewController { colorblock _changecolorblock; } -(void)changColorWithBlock:(colorblock)block;
B.m
-(void)buttonAction:(id)sender { _changecolorblock([UIColor greenColor]); } -(void)changColorWithBlock:(colorblock)block { _changecolorblock = Block_copy(block); }
0 0
- iOS Block语法详解
- block 语法详解2
- block语法详解
- iOS块语法详解(block编程)
- iOS块语法详解(block编程)
- iOS块语法详解(block编程)
- iOS块语法详解(block编程)
- iOS开发-语法篇-block详解
- block语法
- block 语法
- Block语法
- Block语法
- Block 语法
- Block 语法
- Block语法
- block语法
- block语法
- block语法
- hdu 1231 最大连续子列
- 本地YUM源配置-完美解决安装ORACLE依赖包
- Android .9图
- 网络应用:生成随机验证图片并在输入验证码后判断验证码是否正确
- 四种数据存储结构---顺序存储 链接存储 索引存储 散列存储
- block语法详解
- VBA在Excel中的应用(三)
- Unix域套接字
- JRE、JDK和SDK分别是什么
- VBA在Excel中的应用(四)
- 写的不错的文章
- MFC 定时器
- 【剑指offer】翻转单词顺序
- 《DNA比对》蓝桥杯复赛试题