2010-11-21 6 views
3

Je suis nouveau sur iPhone et j'essaie d'apprendre la séquence des méthodes invoquées lors du chargement de l'application. Après quelques recherches, j'ai trouvé ceci qui semble adéquat: NSLog (@ "Begin% @ initWithNibName", [[self class] description]); Mais existe-t-il un moyen d'insérer le nom de la méthode au lieu de le taper moi-même? Y a-t-il encore une meilleure commande TRACE?TRACE logging sur iPhone

Aussi, j'ai trouvé sur internet:

#define METHOD_LOG (NSLog(@"%@ %s\n%@", \ 
    NSStringFromSelector(_cmd), __FILE__, self)) 

Mais je ne sais pas ce qu'il fait et comment l'utiliser. J'ai essayé: - (id) init { METHOD_LOG ("init"); ...... }

Mais ne compile pas.

Répondre

5

Je l'utiliser pour connecter la méthode ou la fonction (fonctionne pour les deux):

NSLog(@"%s", __FUNCTION__); 

Pour utiliser la macro que vous citez, vous tapez:

METHOD_LOG; 
+0

Merci. Votre macro est très utile. Je l'ai utilisé tout le temps maintenant. Btw, quelle est la différence entre @ "% s" et @ "% @". J'ai essayé de googler, mais google ne comprend pas @ et% s. – jabawaba

+0

'% @' imprime un objet Objective-C (tel qu'un 'NSString') et'% s' imprime une chaîne terminée par un caractère nul de style C. Voir http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html –