美文网首页
【转】Core Foundation对象与Foundation对

【转】Core Foundation对象与Foundation对

作者: 悄然林静 | 来源:发表于2019-11-28 15:08 被阅读0次

    【From】https://www.cnblogs.com/wujie123/p/6795038.html

    Core Foundation框架

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

    1. 群体数据类型 (数组、集合等)
    2. 程序包
    3. 字符串管理
    4. 日期和时间管理
    5. 原始数据块管理
    6. 偏好管理
    7. URL及数据流操作
    8. 线程和RunLoop
    9. 端口和soket通讯

    __bridge:CF和OC对象转化时只涉及对象类型不涉及对象所有权的转化,所以不需要对CF的对象进行释放,即不需要添加CFRelease
    __bridge_transfer:常用在CF对象转化成OC对象时,将CF对象的所有权交给OC对象,此时ARC就能自动管理该内存,作用同CFBridgingRelease()
    __bridge_retained:与__bridge_transfer相反,常用在将OC对象转化成CF对象,且OC对象的所有权也交给CF对象来管理,即OC对象转化成CF对象时,涉及到对象类型和对象所有权的转化,作用同CFBridgingRetain()

    由上可知, __bridge_retained是编译器替我们做了 retain 操作,而 __bridge_transfer是替我们做了 release。


    PS: iOS中ARC 和 非ARC 之间的转换
    1、选择项目中的Targets,选中你所要操作的Target,
    2、选Build Phases,在其中Complie Sources中选择需要ARC的文件双击, 并在输入框中输入-fobjc-arc,如果不要ARC则输入-fno-objc-arc

    相关文章

      网友评论

          本文标题:【转】Core Foundation对象与Foundation对

          本文链接:https://www.haomeiwen.com/subject/nkwsyctx.html