2010-11-21 3 views
3

Я новичок в iPhone и пытаюсь изучить последовательность методов, вызываемых во время загрузки приложения.TRACE регистрация на iPhone

После некоторого поиска в Google я нашел это, что кажется адекватным: NSLog (@ "Начать% @ initWithNibName", [[self class] description]); Но есть ли способ вставить имя метода вместо его ввода? Есть ли даже лучшая команда журнала TRACE ???

Кроме того, я нашел это в интернете:

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

Но я не знаю, что он делает и как его использовать. Я попытался: - (id) init { METHOD_LOG ("init"); ...

Но не скомпилирован.

ответ

5

Я использую это для входа текущего метода или функции (работает для обоих):

NSLog(@"%s", __FUNCTION__); 

Чтобы использовать макрос цитируемый, просто введите:

METHOD_LOG; 
+0

Спасибо. Ваш макрос очень полезен. Я использую его все время. Кстати, какая разница между @ "% s" и @ "% @". Я пробовал искать его, но Google не понимает @ и% s. – jabawaba

+0

'% @' печатает объект Objective-C (например, 'NSString') и'% s' печатает строку с нулевым завершением в стиле C. См. Http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html. –