29 votes

Comment obtenir le nom d'une classe d'une méthode en tant que NSString ?

J'ai besoin du nom de la classe qui possède une méthode. NSString . Exemple : Il y a un -fooBar à l'intérieur d'un SomeClass et que -fooBar exécute du code. Ce code doit indiquer quelle classe le "possède", je veux dire : Quelle classe appartient à cette méthode. Je ne peux donc pas taper en dur le nom de la classe dans un fichier NSString car j'en ai besoin pour le débogage, en déterminant dynamiquement le nom de la classe. Difficile à expliquer. Une idée ?

64voto

David Clifton Points 11

Sur le Mac, vous pouvez utiliser :

NSString *className = [self className];

ou

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

Sur l'iPhone, [self className] n'existe pas, vous devrez donc utiliser :

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

10voto

not really Jake Points 3440
NSLog(@"%@",[self className]);

Mise à jour : désolé, je n'avais pas réalisé que className n'existait pas sur l'iPhone. Comme le suggère le commentaire ci-dessus ; utilisez

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

à la place.

3voto

Dr. chamran Points 518

Essayez :

[[self class] description]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X