0
A
回答
5
如回答here,#import < objc/runtime.h >
和使用class_copyMethodList()。
-1
dapptrace
(Dtrace)是你的朋友。
手册页(man dapptrace
)上:用户和 库函数
dapptrace打印细节要求
dapptrace
针对的Dtrace脚本语言(D
)编写的。这意味着您可以调整dapptrace或从其脚本文件中提取想法来做很多事情。例如:
等待myFunctionWhichCreatesSpecialObject
被调用。存储它返回的对象地址(特殊对象)。打印出在该对象上调用的所有选择器。
您还可以直接调用dtrace编写简单的单线法术。我会让你去寻找那些。
-2
在运行时你可以使用
类方法 “+(BOOL)instancesRespondToSelector:(SEL)aSelector”
只要你知道你要检查的选择。
2
一般来说,这是不可能的。 “一个实例响应的选择器”可能是一个无限集合。例如,可以实现将罗马数字作为消息发送并返回相应整数值的类。如果你想知道在一个给定时间(这是一个不同的问题)由一个类实现的实例方法的精确集合,你可以使用Objective-C runtime functions来获得一个类的实例方法列表,并走上类树找到它从超类继承的那些。但是,这又是两件完全不同的事情。一个类可能有一个它选择不响应的消息的方法,它可能会响应那些没有直接相应方法的消息。
相关问题
- 1. 在命令行上运行目标的所有绑定实例
- 2. 选择在运行时模板实例虽然切换在C++
- 3. 目标C创建实例在运行时
- 4. 在运行时C#结构实例化
- 5. 在运行时模板实例化和功能选择
- 6. 有角度的网格标题行选择,选择所有行
- 7. 获取目标c中的类的所有实例?
- 8. 从目标C选择器调用实例方法
- 9. 如何取消选择在目标c中选择的行?
- 10. 目标C - 在运行时确定
- 11. 在运行时获取目标类的所有方法
- 12. 针对C目标运行时的简单ANTLR 3.4示例
- 13. 多个实例目标c
- 14. 如何选择所有项目在选择所有菜单项时选择黑莓的列表框复选框
- 15. 在React.js中选择组件的所有实例
- 16. 如何在RDF类的所有实例上选择全部?
- 17. 在运行时选择AspxGridView
- 18. 运行项目在所有
- 19. Resharper运行所有测试时,只有一个选择
- 20. Listview复选框选择所有/选择所有C#4.0
- 21. Flex:datagrid选择所有项目
- 22. 选择要实例化的类c#
- 23. 获取所有正在运行的实例使用nagios
- 24. 如何列出所有正在运行的CLR实例
- 25. 目标C中的选择器C
- 26. 在运行时在GridEx中选择行
- 27. 目标C [__NSArrayM objectForKey:]:无法识别的选择发送到实例
- 28. 目标C运行时参数绑定
- 29. 所有未选择的选项标签
- 30. 如何在运行时更改目标c中的uibutton标题?
[obj-c对象的列表选择器]的完全重复(http://stackoverflow.com/questions/330030/list-selectors-for-obj-c-object) – 2010-11-23 20:01:31
您的意思是所有选择器实际上在响应期间做出响应一个特定的运行,或所有可以响应的选择器,在运行时确定? – 2010-11-23 21:20:47