码迷,mamicode.com
首页 > 移动开发 > 详细

IOS重写description方法,自定义控制台(log)信息

时间:2014-12-05 15:29:33      阅读:645      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   color   os   sp   for   strong   

description是所有类都有的一个方法。

我们重写这个方法,可以自定义实例输出的信息。

 

比如我们创建一个Person类:

在.h文件中添加两个属性:

#import <Foundation/Foundation.h>

@interface Person : NSObject

@property (strong, nonatomic) NSString *name;
@property (assign, nonatomic) int age;

@end

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

#import "Person.h"

@implementation Person

- (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 - <Person: 0x7fccd1e1c5f0>

 

总结一下:

也就是说当我们把该类的所有属性都输出至控制台时,我们可以重写description方法,方便我们能随时观察类的各个属性。

PS: 没有重写description方法时,默认只会显示打印的类名和类的内存地址。

IOS重写description方法,自定义控制台(log)信息

标签:des   style   blog   io   color   os   sp   for   strong   

原文地址:http://www.cnblogs.com/GarveyCalvin/p/4146732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!