XCode: 兼容ARC和non-ARC
来源:互联网 发布:udp监听端口 编辑:程序博客网 时间:2024/05/17 01:15
原文链接:
http://www.cnblogs.com/jevin/p/3308616.html
Objective-C引入ARC(Automatic Reference Counting)后,我们经常会面对这样一种困境:自己的项目使用了ARC,却发现要使用的第三方类库是non-ARC的;又或者自己的项目是non-ARC的,但是想使用一个ARC的第三方类库。 这个时候就有点左右为难了,不知道该让non-ARC迁就ARC,还是让ARC迁就non-ARC。
网上有一些做法可以解决这个问题:1.将自己的ARC项目转换成non-ARC项目。 2.或者将第三方类库编译成framework的形式。
这些做法都太麻烦了,其实我们只需要在XCode中设置源代码的Compiler Flags就能让ARC和non-ARC文件共存。
点击Project->Targets->Build Phases标签->展开Compile Sources,双击某个.m文件的文件名,然后加上“-fno-objc-arc”这个标记,就可以指定此.m文件按照non-ARC方式编译。对应的如果加上“-fobjc-arc”标记,就可以指定.m文件按照ARC方式编译。
///////////////////////////
另外还有一个很有用的技巧:在源代码中用__has_feature来判断是否是ARC或者non-ARC。
如以下代码,如果此代码的源文件不是按照ARC方式编译,就会报错。
#if ! __has_feature(objc_arc)
#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
#endif
#error This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC).
#endif
0 0
- XCode: 兼容ARC和non-ARC
- XCode: 兼容ARC和non-ARC
- XCode: 兼容ARC和non-ARC
- XCode: 兼容ARC和non-ARC
- XCode: 兼容ARC和non-ARC
- Xcode项目兼容ARC和非ARC代码
- arc and non-arc 兼容编译
- ARC和非ARC如何兼容
- MRC和ARC的兼容
- ARC & NON-ARC混合编译
- Objective-C: ARC和Non-ARC混编的问题
- iOS 开发中如何兼容ARC和非ARC 文件
- iOS开发单例模式Non-ARC(非ARC)和ARC+GCD
- xcode中混用arc和非arc模式
- xcode中混用arc和非arc模式
- xcode中混用arc和非arc模式
- 【007】Xcode中ARC代码和非ARC代码混用
- xcode中混用arc和非arc模式
- Eclipse 中双击变量不高亮 解决
- POJ3281--Dining(最大流)
- Web前端技术学习
- 小猿的第一个开源项目:办公自动化软件的通用开发模板 — OAer,简洁为美,轻量交互
- Java学习这七年
- XCode: 兼容ARC和non-ARC
- 一段封装mongodb连接的代码
- 【经济】如何学习经济学之分析
- Matlab贝塞尔函数(Bessel)实现
- 醍醐灌顶
- 解决链接错误:error LNK2001: 无法解析的外部符号 __iob
- 0400000100
- Matlab 高斯消元
- 0400000101