ios中c头文件的arc混乱============================================================ 博文原创,转载请声明出处 电子咖啡(原id蓝岩)
2013-01-07 15:20
239 查看
============================================================博文原创,转载请声明出处电子咖啡(原id蓝岩)============================================================问题有些诡异,让我细细描述。
我建立了一个c的头文件FALog.hL来做作为我的日志工具类(非arc),代替NSLog,这个c文件包含了部分的objc代码。
我的整个工程是非arc的,只有两个文件A、B是arc的,我在build parses中将A、B的compile flags 设为-fobjc-arc,使之为arc编译
在我添加A、B文件之前,我的FALog是可以正常编译的,添加A、B之后,FALog中对我的release和autorelease老是提示“arc下面不可以release”,如下:
'autorelease' is unavailable: not available in automatic reference counting mode
![](http://img.my.csdn.net/uploads/201301/07/1357543410_7466.png)
问题是我的FALog真的不是arc,疯掉了。
最终解决无果,我决定看看我的falog是不是真的arc,使用宏:
#if __has_feature(objc_arc)
// ARC is On
#else
// ARC is Off
#endif事实证明我的falog就是非arc的,无语,于是我在我的release代码前后加上宏判断,如下
#if !( __has_feature(objc_arc))
NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
#endif编译成功了,我很无语,本来就不是arc,现在还非要让我判断一下是不是arc才能编译成功,不知道xcode怎么回事。
困扰我n天了,希望对你有帮助。
另外科普一下:
ios中如果arc和非arc文件混编,可以在build parses中指定compile flags,如果arc文件设为"-fobjc-arc",非arc文件设为"-fno-objc-arc"
我建立了一个c的头文件FALog.hL来做作为我的日志工具类(非arc),代替NSLog,这个c文件包含了部分的objc代码。
我的整个工程是非arc的,只有两个文件A、B是arc的,我在build parses中将A、B的compile flags 设为-fobjc-arc,使之为arc编译
在我添加A、B文件之前,我的FALog是可以正常编译的,添加A、B之后,FALog中对我的release和autorelease老是提示“arc下面不可以release”,如下:
'autorelease' is unavailable: not available in automatic reference counting mode
![](http://img.my.csdn.net/uploads/201301/07/1357543410_7466.png)
问题是我的FALog真的不是arc,疯掉了。
最终解决无果,我决定看看我的falog是不是真的arc,使用宏:
#if __has_feature(objc_arc)
// ARC is On
#else
// ARC is Off
#endif事实证明我的falog就是非arc的,无语,于是我在我的release代码前后加上宏判断,如下
#if !( __has_feature(objc_arc))
NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init]autorelease];
#endif编译成功了,我很无语,本来就不是arc,现在还非要让我判断一下是不是arc才能编译成功,不知道xcode怎么回事。
困扰我n天了,希望对你有帮助。
另外科普一下:
ios中如果arc和非arc文件混编,可以在build parses中指定compile flags,如果arc文件设为"-fobjc-arc",非arc文件设为"-fno-objc-arc"
相关文章推荐
- 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://minilinux.blog.51cto.com/4499123/1309779
- 正式声明:转载本Blog文章请注明原始出处和作者
- 树状数据库设计方案思考(原创,如需转载请标明出处)
- 【原创】SSM框架下,添加activiti流程引擎配置--转载请注明出处
- iOS NSFileManager详解 ➕示例(转载请注明出处)
- 声明:本人的博客文章均来至互联网转载,没有原创
- 淘宝网的实习生笔试题以及经历--2011 4 1(转载请注明出处,即原创网址)
- 正式声明:转载本Blog文章请注明原始出处和作者
- 博客原创声明以及转载免责声明
- 13) 参数适配ParamterWrapper [原创,泛型编程,自由下载转载,需注明出处]
- 5) 函数特征functionTraits [原创,泛型编程,自由下载转载,需注明出处]
- 8) 多级结构数据成员指针memberPtr [原创,泛型编程,自由下载转载,需注明出处]
- 关于Rootkit.Vanti.gen病毒的查杀(原创,转载请声明)
- 声明:关于原创与转载的标注
- 单例模式八种写法比较 2017-07-04 15:30 25人阅读 评论(0) 收藏 举报 分类: Android移动互联(19) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录
- 【原创】Spring-boot快速入门(二)JPA数据源--转载请注明出处
- S3C2450自动升级[原创作品,转载请注明出处]
- 【原创】基于Spring-SpringMVC-Mybatis 的 Shiro 安全框架使用教程--转载请注明出处
- 关于悲观锁和乐观锁的区别(最直观理解) 2015-11-23 11:59 5105人阅读 评论(1) 收藏 举报 分类: 数据库(20) 版权声明:本文为博主原创文章,未经博主允许不得转载。
- 【原创】基于SpringMVC的注解式权限控制--转载请注明出处