如何获取特定类的类方法列表?我试过使用在中class_copyMethodList
声明的函数<objc/runtime.h>
,但这只是给我实例方法。我还找到了一个函数,它为我提供了一个类方法的 Method,但前提是我首先拥有该方法的选择器 ( class_getClassMethod
)。
有任何想法吗?
谢谢,
戴夫
如何获取特定类的类方法列表?我试过使用在中class_copyMethodList
声明的函数<objc/runtime.h>
,但这只是给我实例方法。我还找到了一个函数,它为我提供了一个类方法的 Method,但前提是我首先拥有该方法的选择器 ( class_getClassMethod
)。
有任何想法吗?
谢谢,
戴夫
使用元类。
#import <objc/runtime.h>
int unsigned numMethods;
Method *methods = class_copyMethodList(objc_getMetaClass("NSArray"), &numMethods);
for (int i = 0; i < numMethods; i++) {
NSLog(@"%@", NSStringFromSelector(method_getName(methods[i])));
}
free(methods);
class_copyMethodList
返回传递的类的实例方法。类方法实际上是类元类的实例方法。
您的问题的解决方案包含在class_copyMethodList
.