block 基本用法
来源:互联网 发布:数据字典设计文档模板 编辑:程序博客网 时间:2024/05/29 07:43
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px 'PingFang SC'; color: #4bd156}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff}span.s1 {font: 14.0px Menlo; font-variant-ligatures: no-common-ligatures}span.s2 {font-variant-ligatures: no-common-ligatures}span.s3 {font-variant-ligatures: no-common-ligatures; color: #de38a5}span.s4 {font-variant-ligatures: no-common-ligatures; color: #00b1ff}//专门处理: 需要重复调用的block(返回值相同,参数相同)
在.h文件中,声明
typedef void(^TypedefBlock)(NSString *);
typedef int(^TypedefBock2)(int a, int b);
- (IBAction)TestAction:(id)sender { //调用 无返回值 无参数的block VoidBlock(); //调用 带返回值 带参数的block int a = 2, b = 3; NSLog(@"调用block函数,计算 %d * %d = %d",a, b, blockTest1(a, b)); //调用 typedef 声明的block blockTypedef(@"我点击了button"); [self UseBlockWithOC:^(NSString *info) { NSLog(@"%@", info); }]; //oc语言 [self UserBlockWithOC2:^int(int a, int b) { return a + b; }]; [self UserBlockWithOC3:^int(int a, int b) { return a + b; }]; [self UserBlockWithOC3:blockTypedef2]; //c语言 UseBlockWithC(^(NSString *info) { NSLog(@"%@", info); }); UseBlockWithC2(^int(int a, int b) { return a + b; }); UseBlockWithC3(blockTypedef2);}/****************** block作为 C 参数 *********************/void UseBlockWithC(void(^cBlock)(NSString *info)){ cBlock(@"我是通过 c语言block作为局部参数调用的");}void UseBlockWithC2(int(^cBlock)(int a, int b)){ NSLog(@"c_result: %d", cBlock(200, 300));}void UseBlockWithC3(TypedefBock2 cBlock){ NSLog(@"c_result: %d", cBlock(200, 300));}/****************** block作为 OC 参数 *********************/- (void)UseBlockWithOC:(void (^)(NSString *info)) ocBlock{ ocBlock(@"我是通过 oc语言block作为局部参数调用的");}- (void)UserBlockWithOC2: (int (^)(int a, int b)) ocBlock{ NSLog(@"oc_result: %d", ocBlock(100, 200));}- (void)UserBlockWithOC3: (TypedefBock2) myBlock{ NSLog(@"typdefBlock作为局部参数: %d", myBlock(100,100));}/******************** block处理 **********************///.声明并赋值定义一个Block变量int(^blockTest1)(int, int) = ^(int a, int b){ return a * b;};//typedef :声明并赋值定义一个Block变量TypedefBlock blockTypedef = ^(NSString *info){ NSLog(@"来自typedefBlock调用: %@",info);};TypedefBock2 blockTypedef2 = ^(int a, int b){ return a + b;};
阅读全文
0 0
- block的基本用法
- Block的基本用法
- block的基本用法
- Block的基本用法
- Block基本用法
- block 基本用法
- Objective-C Block基本用法
- iOS block 基本用法总结
- iOS block 基本用法及代替代理
- Block的基本用法和写法1
- 从基本概念上区别block和inline以及block、inline和inline-block实例用法
- block 用法
- Block用法
- block用法
- Block学习一:基本用法,用block封装NSURLRequest异步请求
- iOS - block基本使用方法
- BLOck基本理解
- Block的基本使用
- 推荐一个不务正业的IT狗--沉默王二
- Spring框架——事务处理(编程式和声明式)
- JavaScript总结记录(学习JavaScript高级程序设计第三版)
- struts2自定义类型转换器
- PHP大小写问题:函数名和类名不区分,变量名区分
- block 基本用法
- redhat Linux6下搭建Samba服务器
- Hibernate映射文件元素属性说明
- 微信小程序
- 安装Hive/Hive基本操作<一>
- JS 二维数组的定义及长度判断
- 理解卷积神经网络CNN中的特征图 feature map
- 简单使用DLL里的函数
- 7zip命令行工具