block注意事项

2019-06-22  本文已影响0人  大白龙

1、在使用block前需要对block指针做判空处理

2、block如果作为属性变量时,要copy一下,将栈上的block拷贝到堆上

3、在block使用之后要对block指针做赋空值处理,如果是MRC的编译环境下,要先release掉block对象。

4、使用时将self或成员变量加入block之前要先将self变为__weak弱引用,这与第三条其实是一个问题,就是解决循环引用问题。

5、在多线程环境下(block中的weakSelf有可能被析构的情况下),需要先将self转为strong指针,避免在运行到某个关键步骤时self对象被析构。

上一篇 下一篇

猜你喜欢

热点阅读