iOS开发-重写description方法,自定义控制台(log)信息
2014-12-05 15:15
387 查看
description是所有类都有的一个方法。
我们重写这个方法,可以自定义实例输出的信息。
比如我们创建一个Person类:
在.h文件中添加两个属性:
在.m文件中重写description方法:
我们调用一下:
这时控制台会输出:
这个是我description中自定义的输出方法。
如果我们没有重写description方法,控制台输出的结果则为:
总结一下:
也就是说当我们把该类的所有属性都输出至控制台时,我们可以重写description方法,方便我们能随时观察类的各个属性。
PS: 没有重写description方法时,默认只会显示打印的类名和类的内存地址。
博文作者:GarveyCalvin
博文出处:http://www.cnblogs.com/GarveyCalvin/
本文版权归作者和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作!
我们重写这个方法,可以自定义实例输出的信息。
比如我们创建一个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方法时,默认只会显示打印的类名和类的内存地址。
博文作者:GarveyCalvin
博文出处:http://www.cnblogs.com/GarveyCalvin/
本文版权归作者和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作!
相关文章推荐
- iOS开发-重写description方法,自定义控制台(log)信息
- 李洪强iOS开发之【Objective-C】07-自定义构造方法和description方法
- iOS游戏开发中使用自定义字体的方法
- iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结
- 项目开发时,出现异常,但控制台没有打印错误信息处理方法
- iOS 高效开发-----实现description 方法
- IOS开发---OC语言-⑭id、构造方法、自定义构造方法
- ios 开发,通讯录信息调用常用方法,这个比较全,不用再整理了;
- iOS开发中自定义字体的方法
- 【iOS开发-25】UIDevice查看系统信息,从一个问题开始如何快速找到自己想要的属性和方法并看懂它
- IOS开发--Description描述方法书写小技巧
- 【ios自学笔记】OC中log信息的输出方法,包含import、字符串、输出日志等知识点
- C++ 开发中自定义调试信息的输出方法
- 转 iOS开发debug跟release版本log屏蔽方法
- 黑马程序员_iOS开发之OC之面向对象之id语法、构造方法、@category分类、类本质、description方法和SEL数据类型
- ios 开发,通讯录信息调用常用方法,这个比较全,不用再整理了;
- ios 开发,通讯录信息调用常用方法,这个比较全,不用再整理了;
- ios 开发,通讯录信息调用常用方法,这个比较全,不用再整理了;
- 【iOS开发-111】自定义大头针Annotation以及2种导航划线的方法介绍
- iOS开发debug跟release版本log屏蔽方法