黑马程序员技术交流社区
标题:
block问题
[打印本页]
作者:
流氓划过夜空
时间:
2014-4-17 00:06
标题:
block问题
block保存一个代码块 还可以传参 更莫名的是跟函数极其相似 就连功能都差不多 大家有没有觉得block就是个废柴啊 ? 我怎么感觉block 直接就能用函数替代了 。求解block有没有什么特殊的用途 是函数不能解决的 或者 block有什么优点, 比函数强到哪儿了? 有没有不同文件下作用域的问题?
作者:
脸皮猴
时间:
2014-4-17 10:38
能在函数中创建一个函数么?
但是block就可以,可以在函数中根据需要创建一个代码块。而把这个代码块作为参数传送给另一个函数。
int test( void (^block)(int a,int b))
{
int a = 1;
int b = 2;
block(a,b);
return 0;
}
int main(int argc, char *argv[])
{
test(^(int a, int b) {
NSLog(@"%d",a + b);
});
return 0;
}
复制代码
作者:
悟中生有
时间:
2014-4-17 10:57
block可以用在函数内、方法内、甚至语句内!可以随时调用,只要是在同一个文件内,在调用之前有定义。所以block使用比函数灵活,应该不是废材吧!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2