自定义description方法与debugDescription方法

本文介绍了在Objective-C中如何自定义description和debugDescription方法来提供更详细的对象信息,以便于调试。通过覆写这两个方法,可以在控制台输出更有用的对象属性详情。在调试时,debugDescription通常在调试器如LLDB中使用,提供比description更丰富的信息。
摘要由CSDN通过智能技术生成

调试程序时,经常需要打印并查看对象信息。一种办法是编写代码吧对象的全部属性都输出道日志中。不过最常用的方法还是像下面这样:

NSLog(@"object = %@", object);

如果是自定义对象就不会打印出较为有用的内容,只不过输出了类名和对象的内存地址:

object = <EOCPerson: 0x7fd9a1600600>

要想输出更为有用的信息也很简单,只要覆写description方法并将描述此对象的字符串返回即可。例如,下面有个代表个人信息的类:

#import <Foundation/Foundation.h>

@interface EOCPerson : NSObject

@property (nonatomic, copy, readonly) NSString *firstName;
@property (nonatomic, copy, readonly) NSString *lastName;

- (id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName;

@end

@implementation EOCPerson

- (id)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName
{
    if ((self = [super ini
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值