概述
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对象 vs CF对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复