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

标签 iphone objective-c cocoa-touch xcode debugging

出于调试目的,我希望在控制台中显示尽可能多的类信息,以及可能的运行时信息(类/函数在哪个线程中运行等)。

有没有一种简单的方法可以使用函数、变量甚至(外部)框架来做到这一点?

附言:我正在使用 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/

相关文章:

iPhone - 获取两个日期之间的天数

iphone - 自定义 UITextField/UIButton

iphone - 使用 NSStream 与 PHP 通信?

iphone - 在 iOS 中实现免费试用期

iphone - UIButton 放置在 tableviewcell 顶部

ios - UIButton 数组每行添加 3 个按钮

objective-c - Cocoa 和 XCode 中的关键事件

ios - 带 SSL 固定的 AFHTTPRequestOperation 不起作用

iphone - 如何在 App Store 中要求 iPad 2 或 iPhone 4S

iphone - UIApplicationDelegate协议(protocol)中神秘的+initialize方法: Why can't I see it in the documentation?