zoukankan      html  css  js  c++  java
  • iOS 开发,混合使用 ARC 和非ARC

    【前提知识】

    ARC:Automatic Reference Counting,自动引用计数

    在开发 iOS 3 以及之前的版本的项目时我们要自己负责使用引用计数来管理内存,比如要手动 retain、release、autorelease 等,而在其后的版本可以使用 ARC,让系统自己管理内存。

    【问题】

    在项目开发过程中我们通常会用到第三方提供的源代码,麻烦的是有些开源项目用的是 ARC,有的用的是非 ARC。

    我在使用 SVProgressHUD 做等待视图时遇到问题,最终发现该项目使用的是 ARC 模式,而我的工程使用的是非 ARC 模式。

    怎么办呢?

    【解决方案】

    Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。

    如果你的项目使用的非 ARC 模式,则为 ARC 模式的代码文件加入 -fobjc-arc 标签。

    如果你的项目使用的是 ARC 模式,则为非 ARC 模式的代码文件加入 -fno-objc-arc 标签。

    添加标签的方法:

    1. 打开:你的target -> Build Phases -> Compile Sources.
    2. 双击对应的 *.m 文件
    3. 在弹出窗口中输入上面提到的标签 -fobjc-arc / -fno-objc-arc
    4. 点击 done 保存

    参考:

    SVProgressHUD 下载

    http://blog.unieagle.net/?p=484

    http://stackoverflow.com/questions/6646052/how-can-i-disable-arc-for-a-single-file-in-a-project

    https://github.com/samvermette/SVProgressHUD/issues/84

  • 相关阅读:
    hdu 5352 匈牙利(多重匹配)
    hdu 2112 最短路+stl
    hdu 1811 拓扑排序+并查集+细心
    hdu5407 CRB and Candies
    hdu1018 Big Number
    hdu5410 CRB and His Birthday
    hdu1023 Train Problem II
    hdu4812 D Tree
    hdu1085 Holding Bin-Laden Captive!
    hdu4810 Wall Painting
  • 原文地址:https://www.cnblogs.com/qiyer/p/4785401.html
Copyright © 2011-2022 走看看