首先,什么是block:block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。那block是OC对象吗?答案是肯定的做一道很简单的关于block的测试题。:1 //2 int (^testBlock) (int) = ^(int num) ...
首先,什么是block:block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。那block是OC对象吗?答案是肯定的
做一道很简单的关于block的测试题。:
1 //2 int (^testBlock) (int) = ^(int num) {3 return num++;4 };5 NSLog(@"%d", testBlock(testBlock(testBlock(3))));1.NSStackBlock:注意:不是没有强指针(copy或strong)引用的block,就是栈block,也有可能是全局block(下面会介绍什么是全局block)。上面代码也没用看到strong 或 copy修饰符,但是为什么会强引用的,因为在ARC环境下,我们在声明变量的时候,前面是会被默认加上 __strong 修饰符的。所以我们在ARC下声明的Block一般都是堆block。
原标题:深入学习block
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。