2013-12-14 11 views
0

Mike Ash's post on ARC에서이 함수의 사용법을 보았지만 그걸 가지고 놀고 싶었지만 어디에 있는지 찾을 수 없었습니다. 나는 objc/runtime과 유사한 파일에서 그것을 발견하지 못했다. 런타임 문서는 그것을 언급하지 않고, 나에게 아무것도주지 않았다. 비밀 기능은 무엇입니까? 어디 있니? 가져 오는 방법은 무엇입니까?objc_retainAutoreleasedReturnValue를 가져 오는 방법은 무엇입니까?

+0

물론 extern 함수를 선언 할 수 있습니다. –

답변

2

objc_retainAutoreleaseReturnValue()ARC runtime support에서 관련 방법은 /usr/lib/libobjc.A.dylib에 정의되어 있지만, 공공 헤더 파일에 노출되지 않습니다.

당신이 예를

// 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); 

를 들어, "런타임/objc-internal.h"의 프로토 타입을 찾을 수 http://www.opensource.apple.com/source/objc4/objc4-551.1/ 를 다운로드하지만 이러한 내부를 호출하는 것이 안전 여부를 몰라 코드에서 런타임 함수. 그들 중 일부는 아주 특별한 일을합니다 (호출자 코드 을 검사하여 객체를 자동 회수 풀에 넣어야하는지 확인하는 등).

관련 문제