首页 > 代码库 > IOS重写description方法,自定义控制台(log)信息
IOS重写description方法,自定义控制台(log)信息
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)信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。