直接桥接数据类型和ARC桥接转换

2016-08-18  本文已影响23人  curious_cat

直接桥接数据类型:

苹果公司为基于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自动管理。

上一篇下一篇

猜你喜欢

热点阅读