Objective-C class -> ssortingng comme: -> @ “NSArray”

J’essaie d’obtenir un nom de chaîne d’une classe à partir de l’object de classe lui-même.

// For instance [NSArray className]; // @"NSArray" 

J’ai trouvé object_getClassName(id obj) mais cela nécessite qu’une instance lui soit transmise, et dans mon cas, c’est un travail inutile.

Alors, comment puis-je obtenir une chaîne à partir d’un object de classe, et non une instance?

     NSSsortingng *name = NSSsortingngFromClass ([NSArray class]); 

    Vous pouvez même revenir en sens inverse:

     Class arrayClass = NSClassFromSsortingng (name); id anInstance = [[arrayClass alloc] init]; 

    Voici une manière différente de le faire avec un peu moins de frappe:

     NSSsortingng *name = [NSArray description]; 

    Considérez cette alternative:

     const char *name = class_getName(cls); 

    C’est beaucoup plus rapide, car il n’a pas à atsortingbuer d’object NSSsortingng et à convertir ASCII en n’importe quelle représentation NSSsortingng . C’est comme ça que NSSsortingngFromClass() est implémenté.