2009-09-03 12 views
27

Necesito el nombre de la clase que posee un método, como NSString. Ejemplo: Hay un método -fooBar dentro de un SomeClass, y ese método -fooBar ejecuta algún código. Este código debe imprimir qué clase "posee", quiero decir: a qué clase pertenece ese método. Así que no puedo escribir el nombre de la clase en un NSString porque lo necesito para propósitos de depuración, determinando dinámicamente el nombre de la clase. Difícil de explicar. ¿Alguna idea?¿Cómo obtener el nombre de una clase de un método como NSString?

Respuesta

9
NSLog(@"%@",[self className]); 

Actualización: lo siento, no sabía que className no existía en el iPhone. Como sugirió el comentario anterior; uso ..

NSLog(@"%@", NSStringFromClass([self class])); 

.. en su lugar.

60

En el Mac, puede utilizar:

NSString *className = [self className]; 

o

NSString *className = NSStringFromClass([self class]); 

En el iPhone, [self className] no existe por lo que tendrá que usar:

NSString *className = NSStringFromClass([self class]); 
3

Probar:

[[self class] description] 
+0

Obtendrá un poco más de lo que deseaba así:

Cuestiones relacionadas