Ios5 关于在启用圆弧的代码中使用保留、释放

Ios5 关于在启用圆弧的代码中使用保留、释放,ios5,Ios5,这是关于IOS 5中的ARC 假设它是ARC启用的,并且我仍然在代码中使用retain release等,是否存在任何风险??还是会自动处理 我知道对于特定的文件可以避免ARC。但在这种情况下,我没有做任何事情来删除这个文件上的弧。该文件现在是一个混合文件(对于某些分配有发布,对于某些分配没有发布) 在这样的环境中,预计会有哪些风险? 谢谢你的帮助 --mia您不能在启用ARC的代码中使用保留或释放。这是不允许的,编译器会出错。如果您没有明确指示编译器不应在启用ARC的情况下编译文件(使用-fn

这是关于IOS 5中的ARC

假设它是ARC启用的,并且我仍然在代码中使用retain release等,是否存在任何风险??还是会自动处理

我知道对于特定的文件可以避免ARC。但在这种情况下,我没有做任何事情来删除这个文件上的弧。该文件现在是一个混合文件(对于某些分配有发布,对于某些分配没有发布)

在这样的环境中,预计会有哪些风险? 谢谢你的帮助


--mia

您不能在启用ARC的代码中使用
保留
释放
。这是不允许的,编译器会出错。如果您没有明确指示编译器不应在启用ARC的情况下编译文件(使用
-fno objc ARC
标志),并且您调用
release
,则您的代码将不会编译

希望有帮助

假设它是ARC启用的,我仍然在代码中使用retain release等


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

Mia,这实际上是不真实的。如果您使用Clang从命令行编译,并告诉它使用带标志的ARC
-fobjc ARC
,您可以通过[object release]等操作逃脱。这似乎是一个xCode问题,它阻止了这些内存管理调用的使用


然而,就像lxt建议的那样,如果在xCode项目中启用了ARC,那么您将无法调用release/retain,除非您明确添加
-fno objc ARC
作为项目中需要它的文件的编译器标志。

哦,这是一个愚蠢的问题:)。对不起。实际上,我认为我已经在示例项目中检查了ARC。现在我在设置中重新检查,它被禁用。无论如何,谢谢。