Как получить информацию о классе и времени выполнения? - PullRequest
6 голосов
/ 21 апреля 2009

В целях отладки я хотел бы отобразить в консоли как можно больше информации о классе и, возможно, информацию времени выполнения (в каком потоке выполняется класс / функция и т. Д.).

Есть ли простой способ сделать это с помощью функции, переменной или даже (внешней) среды?

П.С .: Я использую Cocoa Touch.

1 Ответ

8 голосов
/ 21 апреля 2009

в классе, если вы перегрузите метод -(NSString *)description, вы можете легко записать информацию о классе с помощью NSLog(@"%@", some_object);

вот вымышленный пример:

-(NSString *)description
{
    return [NSString stringWithFormat:@"%@, %@, %d", 
                                      [super description], 
                                      class.object_ivar, 
                                      class.int_ivar];
}

Вы можете использовать стандартные макросы C, чтобы получить такие вещи, как имя, файл, номер строки и т. Д. используйте классы NSThread для получения информации о том, в каком потоке вызывается метод.

Я отправил это в твиттер. http://twitter.com/kailoa/status/1349928820 Не стесняйтесь следовать за мной, если вы заинтересованы в таких лакомых кусочках. Я стараюсь регулярно их поднимать.

#define METHOD_LOG (NSLog(@"%@ %s\n%@", NSStringFromSelector(_cmd), __FILE__, self))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...