1、定义
//无返回值 一个参数(整形): void (^name) (int); //无返回值 两个参数(整形,字符串): void (^name) (int , char *); //有返回值 两个参数 int (^name) (char , int);
2、实现
要实现block的具体函数
例如:
void (^name) (int) = ^(int sum) { NSLog(@"sum = %d",sum); };
或者:
//无返回值 void (^name) (int); name = ^(int sum) { NSLog(@"sum = %d",sum); };
//有返回值 int (^name) (int,int); name = ^(int one , int two) { return one * two; };
3、调用
//无返回值 name(100); //有返回值的调用 int sum = name(12,37);
作为Block,他的主要作用就是回调。也就是把block,当成一个参数,进行传递。
1、方法定义
//传入一个值,判断这个值的大小,如果符合条件,就调用block块 -(void)calculate:(int) count withComplete:(int (^)(int sum)) result;
2、方法实现
//如果count > 10 ,就调用一个带返回值、带参数的Blcok块 -(void)calculate:(int)count withComplete:(int (^)(int sum))result { if (count > 10) { int newValue = result(10*9); NSLog(@"newValue = %d",newValue); } else { NSLog(@"小于10"); } }
3、方法的实现
[bo calculate:11 withComplete:^(int sum) { NSLog(@"计算后的值 = %d",sum); return sum-100; }];
以上的写法中,withComplete中block可读性不高。可以把block单独定义。
例如:
1、定义block
typedef int (^result)(int sum);
2、定义方法
-(void)calculate:(int) count withComplete:(result) sum;
相关推荐
iOS block使用总结 可以结合博客http://blog.csdn.net/aiyang10/article/details/49328969理解
iOS的block是学习的难点和重点,熟练使用block可以达到代码的简单高效,特别是在网络的使用过程中。Block demo是一个简单易学的,可以便于学习原理。
code block的新手入门使用教程,内含快速建立文档,并且运行程序的教程,对新手小白十分友好,欢迎大家下载,感谢感谢感谢感谢感谢感谢感谢感谢感谢
简明扼要的解释block的使用,对于block编程的理解有所帮助
delegate与block的使用
S7 Block Privacy程序块加密工具使用方法.pdf
block的使用 简单易懂 1 block作为局部变量 2 block作为属性 全局 3 block作为函数的参数
单例代理block的使用
iOS开发过程中常用到block语句,但是一直很迷惑,就简单研究了一下,写个Demo给初学者使用
使用 Block & MicroPython 对微控制器进行编程。支持 KidBright32 系列、OpenKB、IPST-WiFi 和 TTGO T-Display 未来 使用 Block 和 MicroPython 代码进行编程 不可用时自动检查并上传 MicroPython 使用安装扩展添加...
delegate和block的使用
iOS Block 的使用, 包括传值, 基本用法
这个是最新版code block的官方使用手册,有需要的同学可以下载看看,英文版的,可能比较费力
block基础知识及block应用。 本例介绍了使用block实现界面传值,自定义带有block代码块的方法。
1.从PANATERM菜单的右端的「其他」选择「Block动作编辑」。 2.在Block动作编辑的列表双击要输入的Block No,会出现输入画面。 3.如果选择要进行的动作,会转到其相对应的输入画面。 4.以相对定位为例 选择...
主要介绍了微信小程序block的使用 ,微信小程序最近非常火热,实现起来也很简单,只要block就可以实现,需要的朋友可以参考下
介绍block的作用和实现的代码 描述block在iphone上面是如何使用的
作者HeDong1117,源码UITableViewBlock,UITableView代理和数据源方法都可使用Block方式调用. 宝宝们再也不用担心一不小心忘记设置(tableView.dataSource = self和tableView.delegate = self)或者忘记遵循协议带来的...
swift UITableView 闭包 block! 使用代码创建UITableView 自定义Cell 使用闭包(block) 回调
一个简单的block代码工程,自定义tableview cell,并使用block