iOS开发-重写description方法,自定义控制台(log)信息

description是所有类都有的一个方法。
我们重写这个方法,可以自定义实例输出的信息。
比如我们创建一个Person类:
在.h文件中添加两个属性:

#import
@interfacePerson : NSObject
@property (strong, nonatomic) NSString*name;
@property (assign, nonatomic)intage;
@end

在.m文件中重写description方法:

#import"Person.h"
@implementationPerson
- (NSString *)description
{
return[NSString stringWithFormat:@"<%p> - name: %@, age: %d", self, _name, _age];
}
@end

我们调用一下:

Person *person =[[Person alloc] init];
person.name=@"XiaoMing";
person.age=28;
NSLog(@"person - %@", person);

这时控制台会输出:

person - <0x7fa20bc18d10> - name: XiaoMing, age:28

这个是我description中自定义的输出方法。
如果我们没有重写description方法,控制台输出的结果则为:

person - <0x7fa20bc18d10> 

总结一下:
也就是说当我们把该类的所有属性都输出至控制台时,我们可以重写description方法,方便我们能随时观察类的各个属性。
PS: 没有重写description方法时,默认只会显示打印的类名和类的内存地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,833评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,990评论 25 709
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,931评论 6 13
  • 唐晶,离开贺涵是你的幸运,因为他不爱你。 他可以指导你工作上的一切难题,可以给你吃当天从日本空运来的刺身,可以装修...
    吴偶阅读 4,340评论 11 10
  • 是时候说再见了,重庆!遇见,每一座城,城里的人,路边的景,都会在心里留下很多很多回忆。我不知道还要走过多少...
    我的名字叫十一阅读 3,199评论 5 2

友情链接更多精彩内容