對於OS X v10.5及更高版本,Apple已棄用NSObject
的poseAsClass:
方法。是否有另一種方式讓課堂上班?Mac OS X 10.5及更高版本中poseAsClass的替代選項?
回答
我不覺得有一個類級別的等價物,但是你可以交換兩種方法的實現,這往往是使用poseAsClass:
的目的(當然如果你需要的話可以交換多個方法重寫類中的多個方法)。 Objective-C 2.0運行庫中需要method_exchangeImplementations(#import objc/runtime.h
)。一句警告:在調用method_exchangeImplementations之後,調用'new'方法實際上會調用原始方法定義。
你想做什麼?經常有擺姿勢的方法。但我會承認它有時是唯一的方法:)
我試圖跟蹤Cocoa應用程序中的所有綁定(和解除綁定)消息。無論何時在一個對象與另一個對象之間進行綁定時,我都想要「NSLog()」一些調試信息。我最終在'NSObject'的綁定方法中使用了'method_exchangeImplementations',並且它實現了這個訣竅。 – 2009-08-18 13:46:57
聽起來就像你在做正確:)我會在運輸代碼時謹慎行事。 – 2009-08-19 10:28:34
- 1. Xcode 3.2.4和Mac OS X 10.5
- 2. Mac OS X 10.5+和POSIX
- 3. Mac OS X 10.5 Apache和Subversion升級替代品
- 4. 在OS X 10.5或更高版本中播放一個mp3文件(循環中)
- 5. FinalBuilder替代Mac OS X?
- 6. Mac OS X替代NSFetchedResultsController
- 7. 在Mac OS X上最佳的免費替代版本SVN?
- 8. Mac OS X 10.5上的SWT和Java WebStart
- 9. Mac OS X 10.5上的NPM錯誤
- 10. 我可以使用LLVM(在Xcode中)編譯針對OS X 10.5及更高版本的應用程序嗎?
- 11. Jetty 9及更高版本中的SelectChannelConnector替代類
- 12. 從Mac OS X 10.6.7到最新版本的MAC OS X
- 13. 如何在Mac OS X 10.5安裝plpython?
- 14. 如何編譯爲Mac OS X 10.5
- 15. Java getDefaultToolKit()掛起Mac OS X 10.5
- 16. 越來越Mac OS X 10.5 sdk
- 17. mac os中的gcc版本4.1.2 x
- 18. Mac OS X中的兩個Perl版本?
- 19. 在Hibernate 4.x及更高版本中是否有替代Isolater(Hibernate 3.6)?
- 20. 如何在Mac OS X 10.6上編譯Mac OS X 10.5的python擴展?
- 21. 用於Mac OS X的替代CADisplayLink
- 22. vb4android Mac OS X的替代方案
- 23. Mac OS X上的高性能代碼
- 24. Apache OS X 10.5 Leopard和OS X 10.5 Leopard Server之間的差異?
- 25. 鍵盤映射 - Mac OS X和Mac OS X 10.5+之間有什麼區別?
- 26. 獲取Mac OS X上的eclipse版本
- 27. Mac OS X上的Xcode版本Lion 10.7.2
- 28. 編譯爲舊版本的Mac OS X
- 29. Mac OS X版本的Texture2D.m,.h可用?
- 30. Mac Os x和xcode版本的iPod 3.1.3
謝謝!我設法使用mcandre的答案和您鏈接的文檔的組合來實現這個目標。快速提示:爲了使用您描述的方法,我必須#include「objc/runtime.h」''。 – 2009-08-17 21:25:41