你的位置:首页 > 软件开发 > 操作系统 > 深入学习block

深入学习block

发布时间:2016-04-27 14:00:06
首先,什么是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 (#换成@)。

可能感兴趣文章

我的浏览记录