2014-11-04 97 views
0

我知道有关于这个问题,我读过它们。我需要XML分析器在iOS。我需要使用GDataXML解析器。我为它禁用ARC,但在示例中还有非ARC命令,如retainrelease如何正确组合ARC代码与非ARC代码?

我会删除它们,但是会导致一些内存泄漏吗?我想不是,但我不确定。

+0

如果您禁用该文件的ARC,为什么要删除对'release'和'retain'的调用? – rmaddy 2014-11-04 17:46:59

+0

没有@rmaddy。我为分析器禁用了弧。但在如何使用的例子中,我仍然会删除非ARC命令。我想知道这是否会导致内存泄漏或其他问题。一般人都说ARC + NON ARC是可以的。 – new2ios 2014-11-04 17:53:05

+0

好的,所以'GDataXML'是MRC代码,你为这些文件禁用ARC。精细。您可以使用带有ARC代码或MRC代码的'GDataXML'。没关系。 – rmaddy 2014-11-04 17:59:05

回答

0

不,这不会导致内存泄漏。对于非ARC文件,只需使用-fno-objc-arc

“自动引用计数为Objective-C对象和块实现自动内存管理,使程序员不需要显式插入保留和释放,它不提供循环收集器;用户必须明确地管理对象的生命周期,手动中止循环或弱或不安全引用

ARC可以通过编译器标志-fobjc-arc显式启用,也可以通过编译器标志-fno-objc-arc显式禁用,最后一个出现在编译线上的两个标志“胜利”。“

有关更多详细信息,请参阅clang docs