2013-12-14 29 views

回答

2

objc_retainAutoreleaseReturnValue()ARC runtime support相關方法在/usr/lib/libobjc.A.dylib定義,但在 公共的頭文件不被暴露。

當你下載http://www.opensource.apple.com/source/objc4/objc4-551.1/ 你會發現在「運行/ objc-internal.h」的原型,例如

// wraps objc_autorelease(objc_retain(obj)) in a useful way when used with return values 
OBJC_EXPORT 
id 
objc_retainAutoreleaseReturnValue(id obj) 
    __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_5_0); 

但我不知道是否 它是安全地調用這些內部運行時函數在你的代碼中。他們中的一些人做了非常特別的事情(例如檢查呼叫者代碼 以檢查是否必須將對象放入自動釋放池中)。