2010-11-21 6 views
3

Ich bin neu auf dem iPhone und versuche, die Reihenfolge der Methoden zu lernen, die während der Ladezeit der Anwendung aufgerufen werden.TRACE Anmeldung am iPhone

Nach einigen googeln, fand ich, dass dies angemessen scheint: NSLog (@ "Begin% @ initWithNibName", [[selbst Klasse] Beschreibung]); Aber gibt es eine Möglichkeit, den Methodennamen einzufügen, anstatt ihn selbst einzugeben? Gibt es noch einen besseren TRACE Log-Befehl ???

Auch fand ich diese im Internet:

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

Aber ich weiß nicht, was sie tut und wie es zu benutzen. Ich habe versucht: - (id) init { METHOD_LOG ("init"); ...... }

Aber kompiliert nicht.

Antwort

5

ich diese verwenden, um die aktuelle Methode oder Funktion (funktioniert für beide) zu protokollieren:

NSLog(@"%s", __FUNCTION__); 

So verwenden Sie das Makro, das Sie zitiert, geben Sie einfach:

METHOD_LOG; 
+0

Danke. Ihr Makro ist sehr nützlich. Ich benutze es jetzt die ganze Zeit. Übrigens, was ist der Unterschied zwischen @ "% s" und @ "% @". Ich habe versucht es zu googeln, aber Google versteht @ und% s nicht. – jabawaba

+0

'% @' druckt ein Objective-C-Objekt (z. B. ein 'NSString') und'% s' druckt eine nullterminierte C-style-Zeichenfolge. Siehe http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html –