文档章节

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
iOS开发之ARC(自动引用计数)

自动引用计数(ARC)是在MacOS X 10.7与iOS 5中引入一项新技术,用于管理Objective-C中的对象。它废弃了显式的retain、release和autorelease消息,而且在两个平台的表现一致。 由于有限的内存...

JoeyBlue
2013/02/23
14.7K
15

没有更多内容

加载失败,请刷新页面

加载更多

漏洞防御与修复工作

漏洞管理工作是企业安全建设必不可少的一环,在风险管理工作中,漏洞管理能够防患于未然,企业对漏洞管理有着广泛的基础建设和实践经验。但随着攻防技术的发展,传统漏洞管理的安全技术和管理...

linuxprobe16
25分钟前
0
0
MicroPython技术及应用前景

1 Micropython技术是什么? MicroPython极精简高效的实现了Python3语言。它包含Python标准库的一小部分,能在单片机和受限环境中运行。 1.1 MicroPython发展 由剑桥大学的理论物理学家乔治....

bodasisiter
31分钟前
0
0
跟我学Spring Cloud(Finchley版)-13-通用方式使用Hystrix

本节详细讲解使用Hystrix的通用方式。 简介 Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要...

周立_ITMuch
40分钟前
0
0
🛠️Hanjst/汉吉斯特更新加JavaScript运行时优化等

这是 Hanjst/汉吉斯特 发布以来的首个主要升级更新版本。这次的主要升级更新的内容包括移除HTML Comments注释行, 优化在 Hanjst include模板文件时的JavaScript运行时环境。 Hanjst 在设计和...

wadelau
今天
2
0
OSChina 周六乱弹 —— 舔狗是没有好下场的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听什么# #今天听这个# 分享 Nirvana 的歌曲《Smells Like Teen Spi...》 《Smells Like Teen Spi...》- Nirvana 手机党少...

小小编辑
今天
508
14

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部