CoreFundation 和 Fundation

Fundation 是 CoreFundation 一种包装,在MRC底层数据结构是一摸一样的.
在MRC情况下 CF对象和NS对象是一个东西.

当在ARC情况下需要用到CF对象时可以利用__bridge来转换对象:

__bridge ->内存管理者不切换 ,即 用CF类构造函数创造的对象仍然需要手动release , OC类构造函数创建的对象可以自动释放.下面同理.

__bridge_transfer/CFBridgingRelease ->把CF对象转换成NS对象,并且内存管理者切换 , 即 CF对象转换为OC对象后,可以被自动释放.

__bridge_retained/CFBridgingRetain -> 把NS对象转换成CF对象,并且内存管理者切换.去上面相反.

你可能感兴趣的:(CoreFundation 和 Fundation)