OC对象 vs CF对象
2019独角兽企业重金招聘Python工程师标准>>>
OC对象 vs CF对象
在ARC场景下,对象所有权没有转换
使用__bridge关键字即可实现CF对象和OC对象之间的自由转换
- OC对象转换为CF对象
调用CF框架的方法,所有权没有改变还是属于OC对象,对象的生命周期还是有ARC自动管理,不需要手动释放

- CF对象转换为OC对象
调用OC对象的方法,所有权没有改变还是属于CF对象所拥有,所以需要调用CFRelease来完成对象的释放

对象所有权的转换
- CF对象转换为OC对象
需要释放CF对象的所有权,把所有权交给OC对象管理,所以需要使用桥接转换函数CFBridgingRelease()实现所有权的转换,也可以使用__bridge_transfer 关键字实现这个所有权的转换过程
- OC对象转换为CF对象
OC对象会自动释放,CF对象需要保留该对象,所以需要使用桥接转换函数CFBridgingRetain()实现所有权的保留,防止OC对象释放使用CF对象出现悬垂指针,也可以使用__bridge_retained 关键字实现这个所有权的转换过程
转载于:https://my.oschina.net/FEEDFACF/blog/1845893
OC对象 vs CF对象相关推荐
- 【学习笔记】【oc】类和对象及类的三大基本特征
1.类和对象 类是抽象化,对象是具体化. (1)定义类: 分为两个步骤,类的声明:定义类的成员变量和方法:@interface 用于声明定义类的接口部分,@end表面定义结束:. 成员变量的定义:{} ...
- ios开发之OC基础-类和对象
ios开发之OC基础-类和对象 本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录 ...
- java转js_java对象转js对象
在js中直接使用 EL表达式表达java对象时,输出是对象的类名. 没有达到我们要使用该对象的目的. 比如 var user= ${user}; 在页面上查询代码为 var user=com.test ...
- iOS class深入理解: 实例对象、类对象、元类和isa指针
你要知道的class都在这里 转载请注明出处http://blog.csdn.net/u014205968/ 深入代码理解instance.class object.metaclass 面向对象编程中 ...
- VBA---EXcel工具栏及控件对象、助手对象、内置对话框对象介绍
又是一篇别人总结的文章,摘取了其中一部分,其中CommandBar对象比较有用. 一)工具栏及其控件对象 在Office中通过VBA开发工具栏和菜单,需使用Office提供的CommandBar.Co ...
- Java基于对象基础 基于对象和面向对象的区别(转)
Java基于对象基础 基于对象和面向对象的区别 JavaScript设计者想把javascript语言设计成基于对象(object-based)的语言,他想把这个与面向对象(object-orient ...
- request 对象和 response 对象
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...
- 数组、字符串对象、Math对象
数组的介绍 数组介绍 概念: 就是将若干个数据以一定的顺序放在一起的一个集合体,整体上就称之为"数组".数组就是一列数据的有序排列的集合. 定义形式: var arr1 = new ...
- jQuery对象和DOM对象使用说明
1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象,即是我们用传 ...
最新文章
- IIS7中WCF配置问题集合
- 移动端分步注册_移动应用程序的可用性测试:分步指南
- vscode中 解决格式化后将单引号变双引号
- ES6新语法 变量 、 服务器端js和浏览器端js的区别
- 使用will和would来提出请求_42
- 3.4 卷积的滑动窗口实现
- 凝思linux操作系统4.2内核版本_打破技术垄断!国产操作系统的逆袭之路
- DxO FilmPack 5详细教程:对照片进行艺术渲染,使其具有专业电影的色彩和颗粒感
- listary提升开发效率
- Python自学教程3-英语不好,变量怎么命名
- c语言函数求圆面积,C语言编写函数,计算圆面积.
- 1234变4321java_java:把1234成4321整数倒逆代码
- 解决Visio中对象不能通过键盘方向键微调位置
- [iOS]判断ipa是否脱壳
- Pytorch——XLNet 预训练模型及命名实体识别
- 可视化分析工具Qlik进阶
- 教你替换文件名,如何批量更改部分文件名的操作方法
- jQuery实现BBS发贴操作
- 旅行照片剪辑--环青海湖篇
- Java实现多线程的两种方式讲解
热门文章
- pandas XLRDError Excel xlsx file; not supported 解决办法
- opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径。
- numpy中的cov(方差计算)简单介绍
- debian/ubuntu 安装和使用perf
- java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期
- ionic 笔记-wzq
- 你需要知道的有关Selenium异常处理的都在这儿
- java程序分为哪两大类_JAVA程序基础(第1-2章分类)复习-1
- 关于Linux的用户管理的相关研究-------(一)
- 1、Hello World