我如何证明ARC正在工作?

时间:2013-01-17 15:07:25

标签: ios objective-c automatic-ref-counting

我有一个非ARC项目,我添加了一个新文件并为其设置了ARC编译器标志(-fobjc-arc)。当我调用[object release]时;在文件中,没有抛出编译器错误。我需要确定这个文件确实启用了ARC,我该如何证明?感谢。

3 个答案:

答案 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

希望它可以帮助你..