美文网首页
自定义NSLog打印内容

自定义NSLog打印内容

作者: zfl1024 | 来源:发表于2017-07-11 10:46 被阅读0次

开发中通过NSLog的%@打印自定义的对象时,只会打印出一个对象的内存地址。
例如:(xxxview:0xb677420)
但是打印系统的类型,例如NSArray就不会这样。
这是为什么呢?
原因:打印到日志时,对象会收到description消息,该方法所返回的描述信息将取代“%@”。
所以重写这个description方法就可以设定打印的东西。
还有一个方法可以重写,就是debugDescription方法:是开发者在调试器中以控制台命令打印对象时才调用的。在NSObject类的默认实现中,此方法只是直接调用了description。
当希望调试的时候可以看见打印的地址和信息,在正常打印的时候不需要地址时候,就可以像下面这样重写两个方法。

- (NSString *)description{ 
return [NSStringstringWithFormat:@"<%@>",@{@"name":_name,@"work":_work}];
}
- (NSString *)debugDescription{ 
return  [NSStringstringWithFormat:@"<%@ : %p, %@>",[selfclass],self,@{@"name":_name,@"work":_work}];
}

相关文章

  • nslog重定义

    1、nslog重定义 优点:可以自定义打印样式,真机测试,内容过长的时候不会被截断 缺点:打印速度比nslog慢 ...

  • 自定义NSLog打印内容

    开发中通过NSLog的%@打印自定义的对象时,只会打印出一个对象的内存地址。例如:(xxxview:0xb6774...

  • iOS - Description

    自定义 po 打印,print & NSLog 类的打印输出 description - print 日志输出 d...

  • 自定义打印输出

    自定义打印输出#ifdef DEBUG#define HCLog(...) NSLog(__VA_ARGS__)#...

  • NSLog 打印全部信息

    NSLog 打印全部信息 宏定义 NSLog 打印中文 先写一个转义方法 NSLog 打印中文使用 可以在...

  • 常用经验

    1.NSLog 调试打印日志,包括所在的文件名,函数名,行号。 原文:你真的理解你在用的自定义NSLog吗? 2....

  • 自定义NSLog打印

    .h文件 .m文件 其中,FILE为方法调用的路径.[[[NSString stringWithUTF8Strin...

  • 使用NSLog打印 控制台没有输出

    原因:一直使用自定义的宏打印数据,系统的NSLog禁用了,调试BUG需要打印时间把自定义的宏输出注释了,使用系统N...

  • swift-自定义Log

    在oc开发的过程中一般都会自定义NSLog,使其在debug模式下打印,relese模式下不让其打印,在swift...

  • Runtime打印自定义类型属性-2021-02-23-周二

    在开发当中,我们很多时候需要打印自定义类型的所有属性。如果我们直接使用NSLog(@"%@",person);的方...

网友评论

      本文标题:自定义NSLog打印内容

      本文链接:https://www.haomeiwen.com/subject/jabphxtx.html