美文网首页
iOS开发-重写description方法,自定义控制台(log

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

作者: 猪队友小L | 来源:发表于2017-08-18 16:22 被阅读22次

    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方法时,默认只会显示打印的类名和类的内存地址

    相关文章

      网友评论

          本文标题:iOS开发-重写description方法,自定义控制台(log

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