如何获取类和运行时信息?

时间:2009-04-21 09:07:55

标签: iphone objective-c cocoa-touch xcode debugging

出于调试目的,我希望尽可能多地显示类信息,并将可能的运行时信息(运行类/函数的线程等)显示到控制台中。

使用函数,变量甚至(外部)框架有一种简单的方法吗?

P.S:我正在使用Cocoa Touch。

1 个答案:

答案 0 :(得分:8)

在课堂上,如果您重载-(NSString *)description方法,则可以使用NSLog(@"%@", some_object);轻松记录课程信息

这是一个虚构的例子:

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

您可以使用标准C宏来获取名称,文件,行号等内容...... 使用NSThread类来获取有关调用该方法的线程的信息。

我把这个发布到twitter上。 http://twitter.com/kailoa/status/1349928820如果你对这样的更多花絮感兴趣,请随时关注我。我试着定期把它们放好。

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