usted puede hacer esto y es muy bien documentado en https://developer.apple.com/library/mac/documentation/cocoa/Reference/ObjCRuntimeRef/index.html
Para obtener todos los métodos de instancia o de clase de una clase, es posible utilizar class_copyMethodList
y iterar sobre los resultados. Un ejemplo:
#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);
}
Tendrá que hacer dos llamadas por separado a este método. Uno de los métodos de instancia y otra para los métodos de la clase:
/**
* This will dump all the instance methods
*/
DumpObjcMethods(yourClass);
Llamada del mismo en la metaclase le dará todas los métodos de clase
/**
* Calling the same on the metaclass gives you
* the class methods
*/
DumpObjcMethods(object_getClass(yourClass) /* Metaclass */);
Este enlace ahora redirige a la página de navegación – user3125367
Manzanas documentos han conseguido más horrible. La respuesta de Buzzy a continuación es una respuesta mucho mejor. – Paul