黑马程序员技术交流社区

标题: Block [打印本页]

作者: luguo    时间: 2015-6-8 18:47
标题: Block
block要掌握的东西
1> 如何定义block变量
int (^sumBlock)(int, int);
void (^myBlock)();

2> 如何利用block封装代码
^(int a, int b) {
    return a - b;
};

^() {
    NSLog(@"----------");
};

^ {
    NSLog(@"----------");
};

3> block访问外面变量
* block内部可以访问外面的变量
* 默认情况下,block内部不能修改外面的局部变量
* 给局部变量加上__block关键字,这个局部变量就可以在block内部修改

4> 利用typedef定义block类型
typedef int (^MyBlock)(int, int);
// 以后就可以利用MyBlock这种类型来定义block变量
MyBlock block;
MyBlock b1, b2;

b1 = ^(int a, int b) {
    return a - b;
};

MyBlock b3 = ^(int a, int b) {
    return a - b;
};

作者: tabor    时间: 2015-6-9 12:57
不错的总结~ 加油,中级黑马:handshake
作者: nsswift    时间: 2015-6-9 19:10
学号c语言的函数指针对block的理解是有很大的帮助的
作者: fanxing    时间: 2015-6-9 19:37
指针很重要

作者: 秦卷卷    时间: 2015-6-10 16:54
点赞。。。。。
作者: 这是829    时间: 2015-6-10 22:49
围观学习啦,加油努力!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2