博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARC大杂烩——混合编译支持与不支持ARC的OBJC代码的方式
阅读量:6871 次
发布时间:2019-06-26

本文共 502 字,大约阅读时间需要 1 分钟。

在工程中,我们可以混合搭配支持ARC和不支持ARC的代码。这里针对几种情况分别提供了的解决的办法。

1.同时含有支持ARC和不支持ARC的文件时

(1)使用-fno-objc-arc编译器标志兼容不支持ARC的文件,使用-fobjc-arc编译器标志单独设置支持ARC的文件

(2)使用Xcode的Convert to Objective-C ARC工具指定那些文件需要支持ARC哪些文件不使用ARC编译。

2.同一文件中混合支持ARC和不支持ARC的代码

#if !__has_feature(objc_arc)//这里是不支持ARC的代码-(void)release{//在这里释放变量}#endif
在编写框架的时候,我们需要加入一个宏来提示框架使用者需要使用什么样的方式编译,尤其是在非ARC的工程中使用ARC编译的代码的时候会出现内存泄露。这个时候我们可以写一个宏来给出提示

#if !__has_feature(objc_arc)#error This file is ARC only.#endif

转载于:https://my.oschina.net/xiguaa/blog/145494

你可能感兴趣的文章
JavaScript 生成Guid
查看>>
jQuery+PHP+MySQL简单无限级联实现
查看>>
互联网创业的准备——版本控制与上线
查看>>
网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)...
查看>>
用c++和python写GUI程序(python嵌入方式)
查看>>
Code sample – socket client thread in Python
查看>>
2013年8月3日第31周六
查看>>
Android使用隐藏api的方法(使用被@hide的api)
查看>>
Robert Penner's Easing Functions
查看>>
Parallel for loops in .NET C# z
查看>>
mysql alter修改字段的长度 类型sql语句
查看>>
第24周二
查看>>
[轉載]史上最强php生成pdf文件,html转pdf文件方法
查看>>
[leetcode]Rotate List @ Python
查看>>
C#-Mdi多文档窗体及其子窗体的排列 ---ShinePans
查看>>
hive 权限:Authorization failed:No privilege 'Create' found for outputs .
查看>>
Unit Test单元测试时如何模拟HttpContext
查看>>
高级PHP应用程序漏洞审核技术
查看>>
菜鸟教程之工具使用(一)——Git的基本使用
查看>>
如何处理数组越界而不会让程序崩溃?
查看>>