[Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
来源:互联网 发布:java list<> 编辑:程序博客网 时间:2024/04/27 15:54
最近碰到了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或者相关方法来释放对象;
根据苹果官方的文档(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。
0 0
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思、区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- 【整理】unity3d优化总结篇
- 自定义ListView盘点-PullZoomView(28)
- oracle 记录每一条数据最后更新的时间(ora_rowscn)
- 嵌入式 十个最值得阅读学习的C开源项目代码
- 单元测试-第一个测试用例
- [Objective-C]__bridge,__bridge_retained和__bridge_transfer的意思,区别与使用
- AP(无线访问接入点(WirelessAccessPoint))
- hdu 5172 GTY's gay friends Hash随机算法
- 自定义ListView盘点-PullToZoomInListView(29)
- js中的逻辑或(||)操作
- iOS The file “XXX” couldn’t be opened because you don’t have permission to view it.
- Android基于XMPP Smack openfire 开发的聊天室
- 关于MyEclipse集成Maven,在Maven Dependencies 出现tools.jar miss错误解决办法
- [HdOJ]1800 Flying to the Mars