这是关于IOS 5中的ARC。
假设它已启用ARC并且我仍然在代码中使用保留释放等,是否有任何风险?还是会自动处理??
我知道特定文件可以避免使用ARC。但在这种情况下,我没有做任何事情来删除此文件上的ARC。这个文件现在是一个混合(一些分配的发布,一些分配没有发布)。
在这样的环境中有什么风险? 谢谢你的帮助!
- MIA
答案 0 :(得分:1)
您无法在启用ARC的代码中使用retain
或release
。根本不允许 - 编译器会出错。如果您没有向编译器明确指出不应该在启用ARC的情况下编译文件(使用-fno-objc-arc
标志)并且调用release
,则代码将无法编译。
希望有所帮助!
答案 1 :(得分:0)
假设它已启用ARC,我仍在代码中使用保留释放等
你做不到。如果你这样做,你将收到编译器错误。
答案 2 :(得分:0)
-fobjc-arc
的ARC,您可以使用[对象发布]等等。它似乎是阻止使用这些内存管理的xCode调用
但是,像lxt一样,如果在xCode项目中启用ARC,则 NOT 能够调用release / retain,除非您明确地将-fno-objc-arc
添加为编译器标志文件在你的项目中需要它。