我有一个非 ARC 项目,我添加了一个新文件并为其设置了一个 ARC 编译器标志 (-fobjc-arc)。当我调用 [object release] 时;在文件中,没有抛出编译器错误。我需要确定这个文件确实启用了 ARC,我该如何证明呢?谢谢。
问问题
124 次
3 回答
6
运行时不检查 ARC。但是,您可以在编译时检查它:
#if !__has_feature(objc_arc)
//Do the old stuff
#endif
希望有帮助。
于 2013-01-17T15:11:23.487 回答
1
此外,如果您可以调用-release
,则 ARC 已关闭。一旦打开,编译器将抱怨任何手动内存管理的尝试,如-retain
调用-release
或[super dealloc]
.
于 2013-01-17T15:14:00.427 回答
0
尝试这个
#if __has_feature(objc_arc)
// ARC is On
NSLog(@"ARC on");
#else
// ARC is Off
NSLog(@"ARC off");
#endif
希望对你有帮助。。
于 2013-01-17T15:12:09.053 回答