我有一个非ARC项目,我添加了一个新文件并为其设置了ARC编译器标志(-fobjc-arc)。当我调用[object release]时;在文件中,没有抛出编译器错误。我需要确定这个文件确实启用了ARC,我该如何证明?感谢。
答案 0 :(得分:6)
运行时没有检查ARC。但是,您可以在编译时检查它:
#if !__has_feature(objc_arc)
//Do the old stuff
#endif
希望有所帮助。
答案 1 :(得分:1)
此外,如果您可以致电-release
,则ARC已关闭。打开后,编译器会抱怨任何手动内存管理尝试,例如调用-retain
,-release
或[super dealloc]
。
答案 2 :(得分:0)
试试这个
#if __has_feature(objc_arc)
// ARC is On
NSLog(@"ARC on");
#else
// ARC is Off
NSLog(@"ARC off");
#endif
希望它可以帮助你..