2012-01-06 82 views
0

这是关于在IOS 5中的ARC。关于使用保留,释放ARC启用代码

假设它是ARC启用,我仍然使用代码保留释放等,有没有任何风险?还是会自动处理?

我知道ARC可以避免特定的文件。但在这种情况下,我没有做任何事情去除这个文件上的ARC。这个文件现在是一个混合(一些分配释放和一些分配没有释放)。

在这样的环境中预期的风险是什么? 感谢您的帮助!

--mia

回答

1

不能使用ARC retainrelease启用代码。这是不允许的 - 编译器会报错。如果您没有向编译器明确指示文件不应该在启用ARC的情况下编译(使用-fno-objc-arc标志),并且您调用release,则代码将无法编译。

希望有帮助!

+0

哦,那是一个愚蠢的问题,然后:)。对不起。我实际上认为我已经在示例项目中检查了ARC。现在我在设置中重新检查,它被禁用。不管怎样,谢谢。 – mia 2012-01-06 11:54:13

0

假设已启用ARC,我仍然使用保留的释放等,在代码

你不能。如果你这样做,你会得到一个编译器错误。

0

Mia,这实际上是不真实的。如果你使用Clang从命令行进行编译,并告诉它使用带有-fobjc-arc标志的ARC,那么你可以使用[object release]等等。它似乎是一个阻止使用这些内存管理调用的xCode事物。

然而,像LXT是在暗示,如果ARC是在Xcode项目启用,除非您明确添加-fno-objc-arc的编译器标志为需要在您的项目文件,你会能够调用释放/保留。