需求:Xcode打印时,unicode码转中文
原理
NSString
都可以正常打印,不需转换新建分类
NSArray+Log
,重写系统方法:
- (NSString *)description
{
NSMutableString *strM = [NSMutableString stringWithString:@"(\n"];
[self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([obj isKindOfClass:[NSString class]])
{
[strM appendFormat:@"\t\t%@,\n", obj];
}
else
{
[strM appendFormat:@"\t\t%@,\n", [obj description]];
}
}];
[strM appendString:@"\t\t)"];
return strM;
}
- 建立分类
NSDictionary+Log
,重写它们的系统方法description
- (NSString *)description
{
NSMutableString *strM = [NSMutableString stringWithString:@"\n{"];
[self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
if ([obj isKindOfClass:[NSString class]])
{
[strM appendFormat:@" %@ = %@\n", key, obj];
}
else
{
[strM appendFormat:@" %@ = %@\n", key, [obj description]];
}
}];
[strM appendString:@"}"];
return strM;
}
测试
- (void)test
{
NSArray *city = @[@"北京", @"广州",@"深圳",@"上海", @"重庆"];
NSDictionary *dict = @{@"城市":@"北京", @"面积":@"xxx平方公里", @"人口":@"xxx万人"};
NSLog(@" city :%@ ",city);
NSLog(@" dict :%@ ",dict);
}
打印
city :(
北京,
广州,
深圳,
上海,
重庆,
)
dict :
{ 城市 = 北京
面积 = xxx平方公里
人口 = xxx万人
}