直接桥接数据类型:
苹果公司为基于C语言的CoreFundation和基于OC
的Foundation框架中的很多数据类型提供了互用性。这些可互用的数据类型称为直接桥接数据类型,如NSArray和CFArrayRef、NSData和CFDataRef等。
ARC桥接转换:
ARC环境下,不允许OC对象指针和其他数据类型的指针直接转换,通过ARC桥接转换,可以使用直接桥接数据类型,但必须使用以下标记。
__bridge :用在CoreFundation对象和Fundation对象互相转换。CoreFundation对象转为Fundation对象时,依然需要手动管理内存。Fundation对象转为CoreFundation对象则由ARC管理。
__bridge__retained:用在将Fundation对象转为CoreFundation对象,Fundation对象进行手动内存管理。
__bridge_transfer:用在将CoreFundation对象转为Fundation对象,CoreFundation对象的内存由ARC自动管理。