码迷,mamicode.com
首页 > 其他好文 > 详细

Foundation与coreFoundation的相互转换

时间:2016-06-21 01:15:08      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

今天在整理以前的一些琐碎知识,今天就分享一个Foundation与coreFoundation的相互转换细节问题,其中的引用计数器是需要考虑的方面。
 
ARC 环境下,CoreFoundation框架中的对象依然要使用手动引用计数管理,手动内存管理的原则为:凡是使用的函数中出现了了copy,retain,create 获取的对象,都必须有调用一次CFRelease函数来释放对象。
CoreFoundation—>Fundation
  1. __bridge 可于 Fundation <-> CoreFoundation的相互转换 只负责转换类型,但并不转移对象的所有权(也就是不影响引用计数器).
  2. __bridge_transfer 只能把CoreFoudation对象转换为Foundation的对象,同时转移对象的所有权
  3. CFBridgingRelease 与 __bridge_transfer 等价,源代

技术分享

Foundation—>CoreFoundation
  1. __bridge_retained 只能把Foundation的对象转换为CoreFoundation中的对象,同时让CoreFoundation中对象负责管理对象生命周期
  2. CFBridgingRetain 与 __bridge_retained 等价,源代码

技术分享

Foundation与coreFoundation的相互转换

标签:

原文地址:http://www.cnblogs.com/somethingWithiOS/p/5602200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!