出于调试目的,我希望在控制台中显示尽可能多的类信息,以及可能的运行时信息(类/函数在哪个线程中运行等)。
有没有一种简单的方法可以使用函数、变量甚至(外部)框架来做到这一点?
附言:我正在使用 Cocoa Touch。
最佳答案
在一个类中,如果你重载了-(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))
关于iphone - 如何获取类和运行时信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771735/