IOS中__bridge,__bridge_retained和__bridge_transfer理解

来源:互联网 发布:欠淘宝保证金会判刑吗 编辑:程序博客网 时间:2024/04/28 22:40
CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge,__bridge_retained和__bridge_transfer三个转换关键字。


苹果官方的文档(https://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html):


__bridge只做类型转换,但是不修改对象(内存)管理权;

__bridge_retained(也可以使用CFBridgingRetain)将Objective-C的对象转换为Core Foundation的对象,同时将对象(内存)的管理权交给我们,后续需要使用CFRelease或者相关方法来释放对象;

__bridge_transfer(也可以使用CFBridgingRelease)将Core Foundation的对象转换为Objective-C的对象,同时将对象(内存)的管理权交给ARC。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 经常性口腔溃疡是什么原因 总是口腔溃疡是什么原因 口腔溃疡要吃什么 老长口腔溃疡是什么原因 常年口腔溃疡 一直口腔溃疡是什么原因 口腔溃疡传染不 口腔溃疡吃点什么好 口腔溃疡的症状是什么 容易长口腔溃疡是什么原因 为什么会长口腔溃疡 口腔溃疡长期不愈是什么原因 长期长口腔溃疡是什么原因 长期口腔溃疡是什么原因 口腔溃疡是什么原因造成的 嘴里经常口腔溃疡是什么原因 口腔溃疡的发病原因 经常性的口腔溃疡 反复性口腔溃疡 怎么会得口腔溃疡 口腔溃疡会引起发烧吗 口腔溃疡怎么引起的 口腔容易溃疡是什么原因 口腔溃疡反反复复是什么原因 口腔溃疡用什么好 经常得口腔溃疡是什么原因 口腔溃疡如何快速好 长口腔溃疡的原因 口腔溃疡是缺什么 引起口腔溃疡的原因有哪些 口腔溃疡吃什么好得快 总口腔溃疡是什么原因 口腔溃疡一直不好是什么原因 口腔溃疡是怎样引起的 口腔上颚溃疡的原因 容易口腔溃疡 口腔溃疡的原因有哪些 经常口腔溃疡是缺什么维生素 常年口腔溃疡什么原因 口腔溃疡是什么原因引起的 口腔溃疡怎样好的快