- 对于底层CoreFoundation对象,我们只需要延续以前手工管理引用计数的办法即可
- 在ARC下,我们有时需要将一个CoreFoundation对象转换成一个OC对象,这个时候我们需要告诉编译器,转换过程中的引用计数需要如何调整。需要引入bridge相关的关键字
- __bridge: 只做类型转换,不修改相关对象的引用计数,原来的CoreFoundation对象在不用时,需要调用CFRelease方法
- __bridge_retained: 类型转换后,将相关对象的引用计数加1,原来的CoreFoundation对象在不用时,需要调用CFRelease方法
- __bridge_transfer: 类型转换后,将该对象的引用计数交给ARC管理,CoreFoundation对象在不用时,不再需要调用CFRelease方法
网友评论