ARC的运行时检查(自动参考计数)

Rod*_*igo 1 objective-c ios4 automatic-ref-counting

如何检查我的程序是否在ARC(自动参考计数)设备中运行?

我可以使用这段代码:

#if ! __has_feature(objc_arc)
#    define FMDBRelease(__v) ([__v release]);
#else
#    define FMDBRelease(__v)
#endif
Run Code Online (Sandbox Code Playgroud)

但这项工作在编译时.一个简单的代码是:

if ([object respondsToSelector:@selector(release)]) {
    [object release];
}
Run Code Online (Sandbox Code Playgroud)

但不行.我在任何地方都找不到它.有一个解决方案吗?

hyp*_*ypt 5

ARC是一种编译时技术,因此#if __has_feature(objc_arc)正确的方法就是这样做.