Apple은 OS X v10.5 이상에서 의 poseAsClass:
메소드를 사용 중지했습니다. 수업에 포즈를 취하는 또 다른 방법이 있습니까?Mac OS X 10.5 이상에서 poseAsClass 대신 사용 하시겠습니까?
답변
클래스 수준의 기능이 있다고 생각하지 않지만 두 가지 방법의 구현을 교환 할 수 있습니다. 이는 종종 poseAsClass:
을 사용하는 목적이었습니다 (물론 필요한 경우 하나 이상의 방법을 교환 할 수 있습니다. 클래스 내의 복수의 메소드를 오버라이드 (override)합니다). Objective-C 2.0 런타임 (#import objc/runtime.h
)에 method_exchangeImplementations이 필요합니다. 경고 단어 : method_exchangeImplementations를 호출 한 후 'new'메소드를 호출하면 실제로 원래 메소드 정의가 호출됩니다.
무엇을하려하십니까? 포즈를 취하는 방법은 종종 있습니다. 그래도 때때로 유일한 방법이라고 인정합니다 :)
나는 코코아 애플리케이션에서 모든 바인딩 (바인딩 해제) 메시지를 추적하려고한다. 한 객체와 다른 객체 사이에 바인딩이있을 때마다'NSLog()'디버그 정보를 원합니다. NSObject에 대한 바인딩 메소드에서'method_exchangeImplementations'를 사용하여 끝내었고 트릭을했습니다. –
당신이 좋아하는 것처럼 들리 네요. 나는 선적 코드에서 그것을하는 것을 조심해야합니다. –
- 1. Mac OS X 10.5 sdk
- 2. Mac OS X 10.6에서 Mac OS X 10.5 용 Python 확장을 컴파일하려면 어떻게합니까?
- 3. mac os x 10.6.4
- 4. Mac OS X 10.5 Leopard에서 PEAR 설정하는 방법
- 5. Mac OS X 10.5 SWT 및 Java WebStart
- 6. Mac OS X 10.5 Apache 및 Subversion 업그레이드 대안
- 7. Mac OS X 10.5/10.6에 launch agent를 설치하는 방법
- 8. Python OS X 10.5 개발 환경
- 9. OS X 10.5 SDK에서 제공되지 않는 getAttributeNS; 대신 무엇을 사용해야합니까?
- 10. Mac OS X 개발
- 11. OS X 10.5 Leopard의 Apache와 OS X 10.5 Leopard Server의 재고 차이점은 무엇입니까?
- 12. Mac OS X : 평균로드
- 13. 어떻게 Mac OS X
- 14. Mac OS X 10.5에서 컴파일하는 방법
- 15. Glassfish가 OS X 10.5/Java 6에서 멈춤
- 16. OS X 10.5 사용자 벽지의 위치는 어디입니까
- 17. MAC 10.5
- 18. XCode Mac OS X 호환성 설정
- 19. Mac OS X 프로그래밍 도입부
- 20. 이전 버전의 Mac OS X 용으로 컴파일
- 21. 오프라인 Mac OS X 개발자 문서
- 22. Mac OS X 프로그래밍 포럼?
- 23. Mac OS X 용 UIActivityIndicatorView?
- 24. Mac OS X 용 MapKit?
- 25. Mac OS X 드로잉 프로그램
- 26. Mac OS X 용 SetWindowsHookEx?
- 27. uninstall ipython mac os x
- 28. Mac OS X 용 MSCGen
- 29. Mac OS X : 데이터베이스에서 병합
- 30. 콘솔 대신 Mac OS X 응용 프로그램 만들기
감사합니다! 나는 mcandre의 대답과 당신이 링크 한 문서의 조합을 사용하여 이것을 작동시킬 수있었습니다. 빠른 노트 : 당신이 설명하는 메소드를 사용하기 위해서는 objc/runtime.h를'#include '해야했다. –