最近遇到类型转换需要添加__bridge等开始不是很理解,后面查询资料才知道在CFObject 与 NSObject 之间转换时,ARC是不能管理Core Foundation object的生命周期。

在CFObject 与 NSObject 之间转换时,需要用到__bridge,__bridge_retained,__bridge_transfer等关键字。下面简单介绍下这三个关键字:

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

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

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

转载于:https://www.cnblogs.com/simple-life-no1/p/4347380.html

__bridge,__bridge_retained,__bridge_transfer相关推荐

  1. IOS开发之__bridge,__bridge_transfer和__bridge_retained

    Core Foundation 框架 Core Foundation框架 (CoreFoundation.framework) 是一组C语言接口,它们为iOS应用程序提供基本数据管理和服务功能.下面列 ...

  2. IOS中__bridge,__bridge_retained和__bridge_transfer理解

    CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge ...

  3. __bridge,__bridge_retained和__bridge_transfer的意思,区别与使用

    使用ARC能帮我们减轻不少内存管理方面的负担,尤其是对用惯了Java的程序员来说.但是像我这种Java基础本身就不牢固,做了两年的iOS已经习惯手动管理内存的半吊子,使用ARC还是经常碰壁. 最近碰到 ...

  4. 什么是 Toll-Free Bridging

    什么是 Toll-Free Bridging 有一些数据类型是能够在 Core Foundation Framework(Core Foundation框架 (CoreFoundation.frame ...

  5. ARC中__bridge, __bridge__transfer, __bridge_retained 关系

    转在开头:转在这篇文章是因为我遇到一个问题,这篇文章解决了我这个问题,debug:cast of objective- c pointer type 'NSMutableDictionary *' t ...

  6. IOS 之__bridge__bridge_transfer和__bridge_retained

    由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge,__bridge_retained和__br ...

  7. IOS学习 ARC下__bridge

    总结于 IOS Tuturial 中 ARC两章,详细在dropbox pdf 文档. Toll-Free Bridging 当你在 Objective-C 和 Core Foundation 对象之 ...

  8. Core Foundation框架

    转载自:http://blog.csdn.net/weiwangchao_/article/details/7744972 Core Foundation框架 (CoreFoundation.fram ...

  9. Foundation和Core Foundation掺杂使用桥接 Toll-Free Bridging

    在cocoa application的应用中,我们有时会使用Core Foundation(CF),我们经常会在Objective-C和CF之间进行转化.系统使用arc的状态下,编译器不能自动管理CF ...

最新文章

  1. Only the original thread that created a view hierarchy can touch its views
  2. 多边形填充算法-有序边表法(扫描线算法)
  3. noi99钉子和小球 解题报告
  4. 根本不存在 DIV + CSS 布局这回事
  5. 同价位无敌?iQOO Neo配置曝光:骁龙845加持
  6. 初涉龙芯I/龙芯II
  7. 代理模式 委派模式 策略模式_委派模式和策略模式
  8. 如何做好项目中的风险控制
  9. Bluecoat代理设备维护手册
  10. 图测1.0 在线地图测量与高清卫星图App 发布
  11. Image Histogram
  12. 抖音短视频数据抓取实战系列(九)——自动化Appium的环境与参数配置
  13. 机械转行程序员怎么样?
  14. 数据预测算法-指数平滑法-2
  15. 苏宁小BIU诞生日 机器人员工正式“入职”
  16. 家庭摄像头隐私保护存在漏洞,央视提醒:信息安全可能无法保障
  17. 2018年春计算机教学计划,2018年春季教学计划表
  18. wap手机广告形式有哪些形式——手机站点广告代码
  19. Maven - 8、大型Maven项目,快速按需任意构建
  20. scrapy中用来代替crawl 功能的main文件配置

热门文章

  1. python变量标识符_简谈-Python的注释、变量类型、标识符及关键字
  2. SVN 清理失败解决方案
  3. [position]返回顶部
  4. 如何进行正确的SQL性能优化
  5. Catalan数(数论)
  6. 【ThinkPHP】实例化模型的方法
  7. Silverlight专题(15) - 你自己的视频播放器之自定义MoveToPointSlider
  8. mysql数据库root密码在哪个文件中_mysql - 本地数据库忘记了root用户的密码
  9. ES6 Promise 并行执行和顺序执行
  10. java上转型对象特点_Java 浅析三大特性之一继承