Question

Comment puis-je obtenir la liste des classe méthodes pour une classe particulière? Je l'ai essayé d'utiliser la fonction class_copyMethodList déclarée <objc/runtime.h>, mais c'est seulement me donner des méthodes d'instance. Je l'ai aussi trouvé une fonction qui me donne une méthode pour une méthode de classe, mais seulement si je le sélecteur sur la première méthode (class_getClassMethod).

Toutes les idées?

Merci,

Dave

Était-ce utile?

La solution

class_copyMethodList renvoie les méthodes d'instance de la classe passé. Les méthodes de classe sont en fait des méthodes d'instance de la métaclasse de la classe.

La solution à votre problème est inclus dans le droit API Documentation pour class_copyMethodList.

Autres conseils

Utilisez le métaclasse.

#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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top