我有一個類,它使用resolveInstanceMethod
動態實現方法。 當我從代碼的其他部分調用動態實現的方法時,編譯器會發出警告,指出對象可能不會響應選擇器。我希望編譯器不要爲這個類發出這樣的警告,但是我不想在我調用其他類上的無效選擇器時禁止警告。這可能嗎?如何告訴編譯器我的類動態地解析方法?
6
A
回答
7
假設你知道會在編譯時動態解析的方法簽名,你可以宣佈「時間在一個非正式的類別:
@interface MyDynamicallyResolvingClass(MethodsThatWillResolveAtRuntime)
... declare the methods here ...
@end
無需提供一個實現。
如果您不知道簽名 - 如果方法名稱也是動態的 - 那麼您需要使用-performSelector:
(或單個或雙重對象參數變體),或者您可能想要使用NSInvocation,除非性能是一個主要問題(如果是的話,還有其他解決方案顯得更加繁瑣)。
4
相關問題
- 1. 編譯器告訴我他無法解析Singleton方法
- 2. C++編譯器告訴我一個類型無法識別
- 3. 誰能告訴我如何編譯webkitdotnet
- 4. Objective-C動態創建的方法和編譯器警告
- 5. 如何告訴編譯器忽略堆棧跟蹤中的方法?
- 6. 如何讓Java編譯器告訴我它推斷出哪種類型?
- 7. 如何告訴我的IDE以特定方式編譯我的CMake項目?
- 8. 編譯的文件告訴makefile如何編譯
- 9. 是否有預編譯器定義,告訴我我正在編譯iOS?
- 10. 如何告訴MSBuild把我的編譯文件放在哪裏?
- 11. 編譯Charniak的解析器
- 12. 我該如何告訴漂亮的遞歸解析文件?
- 13. 如何告訴解析器在哪裏查找xml.xsd的本地副本?
- 14. 怎樣告訴C編譯器不重疊我的琴絃
- 15. Android的工作室是告訴我它無法解析Toast.show
- 16. 如何告訴編譯器我的朋友的功能是函數模板
- 17. 如何告訴C#編譯器不要優化未使用的類?
- 18. Java編譯器告訴我我沒有啓動變量「interest」或「pmt」
- 19. 任何人都可以告訴我如何自動將sass編譯爲css?
- 20. Java編譯器如何處理對靜態方法的靜態可解析調用?
- 21. Java編譯器如何解析類型轉換?
- 22. 編譯器告訴我「不能將類型'char'隱式轉換爲'bool'
- 23. Jenkins使用編譯器警告解析器從腳本文件
- 24. 解析器可以告訴詞法分析器忽略換行符嗎?
- 25. 有沒有辦法在Objective-C上動態地解析類方法?
- 26. 爲什麼編譯器不能解析方法覆蓋?
- 27. 如何理解我的vb反編譯器已經反編譯
- 28. 爲什麼Visual Studio在我嘗試重命名方法時告訴我有「編譯器生成的引用」?
- 29. 我如何告訴Dart編輯器使用SDK的PATH位置?
- 30. Java編譯 - 有沒有辦法告訴編譯器忽略我的部分代碼?
一個非正式的協議完美地解決了我的問題。 – 2010-03-02 19:20:39