description

(NSString *)descriptionWithLocale

  • 关于这个方法的说明

  • 使用场景:如果要在开发时,跟踪对象的明细信息,可以重写description方法,类似于java的toString(),为根类添加一个扩展

  • 目前探索到nsdictionary和nsarray的分类有这个方法


@implementation NSArray (Log)

- (NSString *)descriptionWithLocale:(id)locale

{

// 遍历数组中的所有内容,将内容拼接成一个新的字符串返回

NSMutableString *strM = [NSMutableString string];

[strM appendString:@"(\n"];

// 遍历数组,self就是当前的数组

for (id obj in self) {

// 在拼接字符串时,会调用obj的description方法

[strM appendFormat:@"\t%@,\n", obj];

}

[strM appendString:@")"];

return strM;

}

@end

**自定义的类中也建议使用这个方法 这样打印的时候能打印出来详细信息方便调试


#import "Person.h"

@implementation Person

// 类似于 java 中的 toString() 方法,在 java 团队开发中,是要求必须写的

// 方便调试

// 在 iOS 团队开发中,但是建议在自定义模型中实现此方法!

- (NSString *)description {

NSDictionary *dict = [self dictionaryWithValuesForKeys:@[@"name", @"age"]];

return [NSString stringWithFormat:@"<%@: %p> %@", self.class, self, dict];

}

@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值