UI_Block高级
实现回调
- block是匿名函数,能够实现函数回调功能
- 用于页面之间通信,同时可以进行传值
Block内存问题
- 定义属性接收block,必须使用copy修饰。retain无效,即retain和assign会造成野指针问题
- block在某个方法中定义时存储在栈区,在另一个类中使用需要进行copy,存储在堆区
- 当不使用block时需要销毁,Block_Release()
循环引用
- 在block实现部分,不能直接使用实例变量、self调用属性,因为block会造成self引用计数器加1,最终导致循环引用问题
- 使用__block解决循环引用问题

浙公网安备 33010602011771号