2012-07-11 15 views
1

如何檢查我的程序是否在ARC(自動引用計數)設備中運行?運行時檢查ARC(自動引用計數)

我可以使用此代碼:

#if ! __has_feature(objc_arc) 
# define FMDBRelease(__v) ([__v release]); 
#else 
# define FMDBRelease(__v) 
#endif 

但是在編譯的時候這項工作。一個簡單的代碼是:

if ([object respondsToSelector:@selector(release)]) { 
    [object release]; 
} 

但不行。我沒有在任何地方找到它。有這個解決方案嗎?

回答

3

你不能。 ARC是一個編譯時工具。除了插入允許尾部呼叫優化的呼叫外,它在運行時沒有實際存在。

+0

好的,這是有道理的。 – Rodrigo 2012-07-11 00:48:37

5

ARC是一種編譯時技術,因此#if __has_feature(objc_arc)方式是這樣做的正確方法。

相關問題