当前位置:  开发笔记 > IOS > 正文

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

如何解决《如何获取类和运行时信息?》经验,为你挑选了1个好方法。

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

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

PS:我正在使用Cocoa Touch.



1> amattn..:

在类中,如果重载-(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))


`__PRETTY_FUNCTION__`将为您提供类和任何类别以及选择器名称.它也适用于C++和Obj-C++.如果您计划使用调试器,则print-object默认调用`-debugDescription`,因此您可以覆盖它以提供比`-description`返回的更适合调试的描述.
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有