列出类的实例响应的选择器

时间:2013-08-11 19:13:37

标签: objective-c reflection runtime selector

是否可以获取给定类的实例响应的所有选择器的列表?

2 个答案:

答案 0 :(得分:1)

是。 copyMethodList()返回已实现方法的列表。可能有更多的选择器,实例将通过使用转发机制来响应。

class_copyMethodList()仅复制在类层次结构的此阶段实现的方法。要获得所有必须迭代超类:

Class class = object_getClass( instance );
while( class != Nil )
{
   // copy method list 
   class = class_getSuperclass( class );
}

答案 1 :(得分:0)

如果未隐藏选择器,您可以键入[instanceName(后面有空格),然后点击ESC。将弹出一个下拉列表,为您提供可见选择器列表。