随着iOS系统的广泛应用,block也越来越火,现在也基本上普遍了,但是在应用的时候总会遇到点什么问题,那么不知道大家是不是知道都会出现哪些问题呢?就这一问题讲解一下,总结一下block开发应该注意的事。

一、内联(inline)Block

就是将block嵌入到一个函数中

举例说明:

iOS培训——block开发注意的事_iOS培训 北京iOS培训 iOS开发

二、要注意的地方

1、内联的block中内部定义的变量自己本身有读写权限
2、block内部要修改外部变量需要将外部变量声明__block
3、Blockretain是无效的,如果要想留住block生命周期,可以用copy来实现,记得release
4、被block的应用的对象,retainCount会自动加1,如果要想破解retaincircle,在对象前加__block,这样block块就不会维护这个对象了
下面的写法如果不加上_blocka无法dealloc

iOS培训——block开发注意的事_iOS培训 北京iOS培训 iOS开发 _02

5、在独立的block中不能引用self,如果需要访问可以使用参数传递的方法(可以把其考虑成c+中参数传入函数指针对应copy)**
6、不要随便用.语法

iOS培训——block开发注意的事_iOS培训 北京iOS培训 iOS开发 _03

顺便说一下,本人是iOS培训讲师,希望有兴趣的同行们和学生们相互关注,相互沟通,相互学习。