Ho bisogno del nome della classe che possiede un metodo, come NSString
. Esempio: esiste un metodo -fooBar
all'interno di SomeClass
e il metodo -fooBar
esegue un codice. Questo codice deve stampare quale classe "lo possiede", voglio dire: a quale classe appartiene quel metodo. Quindi non riesco a digitare il nome della classe in un NSString
perché ne ho bisogno a scopo di debug, determinando dinamicamente il nome della classe. Difficile da spiegare. Qualche idea?Come ottenere il nome di una classe di un metodo come NSString?
27
A
risposta
9
NSLog(@"%@",[self className]);
Aggiornamento: mi dispiace, non mi sono reso conto che className non esisteva su iPhone. Come suggerito nel commento sopra; utilizzare ..
NSLog(@"%@", NSStringFromClass([self class]));
.. invece.
60
Sul Mac, è possibile utilizzare:
NSString *className = [self className];
o
NSString *className = NSStringFromClass([self class]);
Su iPhone, [self className]
non esiste quindi dovrete usare:
NSString *className = NSStringFromClass([self class]);
3
Prova:
[[self class] description]
Otterrete un po 'più di quanto desiderato: –