당신은이 작업을 수행 할 수 있습니다 매우 잘 클래스의 모든 인스턴스 또는 클래스 메소드를 가져올 수 https://developer.apple.com/library/mac/documentation/cocoa/Reference/ObjCRuntimeRef/index.html
에 설명되어 있습니다, 당신은 class_copyMethodList
를 사용하고 결과를 반복 할 수있다. 예 :
#import <objc/runtime.h>
/**
* Gets a list of all methods on a class (or metaclass)
* and dumps some properties of each
*
* @param clz the class or metaclass to investigate
*/
void DumpObjcMethods(Class clz) {
unsigned int methodCount = 0;
Method *methods = class_copyMethodList(clz, &methodCount);
printf("Found %d methods on '%s'\n", methodCount, class_getName(clz));
for (unsigned int i = 0; i < methodCount; i++) {
Method method = methods[i];
printf("\t'%s' has method named '%s' of encoding '%s'\n",
class_getName(clz),
sel_getName(method_getName(method)),
method_getTypeEncoding(method));
/**
* Or do whatever you need here...
*/
}
free(methods);
}
이 방법으로 두 개의 통화를해야합니다. 클래스 메소드의 인스턴스 방법과 또 다른 한 가지 : 메타 클래스에서 동일한 호출
/**
* This will dump all the instance methods
*/
DumpObjcMethods(yourClass);
는 당신에게 모든 클래스 메소드 버지 응답에 추가
/**
* Calling the same on the metaclass gives you
* the class methods
*/
DumpObjcMethods(object_getClass(yourClass) /* Metaclass */);
이 링크는 지금 리디렉션 문서가 입수했습니다 – user3125367
사과 탐색 페이지 :
출력의 뜻은 다음과 같습니다 더 끔찍한. 아래 Buzzy의 대답은 훨씬 더 좋은 대답입니다. – Paul