文档章节

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

markqk
 markqk
发布于 2015/03/05 15:27
字数 335
阅读 9
收藏 0

【前提知识】

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 保存


© 著作权归作者所有

共有 人打赏支持
markqk
粉丝 0
博文 133
码字总数 60565
作品 0
朝阳
程序员
私信 提问
ARC的开启和禁止操作图解(XCode 4.5 XCode5)

要想将非ARC的代码转换为ARC的代码,大概有2种方式: 1.使用Xcode的自动转换工具 2.手动设置某些文件支持ARC 一、Xcode的自动转换工具 Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模...

木木情深
2014/02/19
0
0
Xcode非ARC项目中设置部分文件ARC支持

原文地址:http://blog.csdn.net/lixiangflyin/article/details/8771077 ARC是什么 ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了ret...

长平狐
2013/08/21
2.1K
0
iOS ARC与MRC混编的一些解决方法

ARC & MRC 混合开发 在项目开发中,遇到使用MRC开发的第三方库怎么办? 例如:ASI 1> 尝试使用Xcode的转换工具(失败率比较高) 2> 在编译选项中,为MRC的程序添加-fno-objc-arc标记,表明在...

沉恋
2015/03/14
0
4
Xcode 中设置部分文件ARC支持

在XCode中经常需要导入一些外来的代码文件,如果导入的文件使用了ARC机制而你的当前项目没有使用ARC,那么XCode会给出警告,或者报错。我们该如何处理这些问题呢: 点击项目导航文件--> 选中...

人生天地间
2014/06/06
0
0
如何混合使用ARC和非ARC

自己的项目使用了ARC,但是网上下载的开源代码使用非ARC。有什么办法可以实现混合使用ARC和非ARC吗?

lilah
2013/01/06
511
2

没有更多内容

加载失败,请刷新页面

加载更多

String转成JSON的实现

String转成JSON 这个依赖很重要,我们将围绕fastjson中的JSONObject这个类来谈转换 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免...

编程SHA
7分钟前
0
0
详解Object.values(),Object.keys(),Object.entries(),Object.create(),includes()

(1)Object.keys() // 返回数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名。 eg:var obj = {a:1,b:'gy'} Object.keys(obj) // ['a','b'] (2)...

JamesView
30分钟前
1
0
SpringBoot中Mybatis打印sql

application.properties中添加 logging.level.com.example.demo.dao=debug com.example.demo.dao 是对应xml中相应interface层...

writeademo
31分钟前
1
0
Git —— 创建版本库和提交回退版本

二、 创建版本库 版本库又叫做仓库,简单理解就是一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改、删除,Git都可以跟踪,便于追踪历史与还原。找到一个合适的位置,创...

lwenhao
41分钟前
4
0
guava cache使用介绍

今天在项目中发现大量使用guava cache提供缓存,觉得不错。 jvm堆大小为5G /** * * 占用JVM内存,内部数据结构类似于ConcurrentHashMap。因为JVM堆大小的限制,guava cac...

jack_peng
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部