重写 NSArray、NSSet、NSDictionary 的输出方法,在Xcode实现中文(Unicode)字符在控制台的输出
原理
Xcode 控制台中在输出 NSArray、NSSet、NSDictionary 时,其中的中文字符会变成Unicode编码 如"U67cfU8367"
.
我们通过分类重写这些类的输出方法即可实现在控制台输出中文:
代码语言:javascript复制 - (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
效果
先看看效果:
创建一个字典并输出:
代码语言:javascript复制NSData *strData = [@"str -> data格式的字符串" dataUsingEncoding:NSUTF8StringEncoding];
NSData *dicData = [NSJSONSerialization dataWithJSONObject:@{@"key0": @"字典 -> data 的数据",}
options:NSJSONWritingPrettyPrinted
error:nil];
NSMutableSet *set = [NSMutableSet setWithArray:@[@"set0",
strData,
dicData]];
NSDictionary *dic = @{@"name" : @"BY",
@"My bolg" : @"http://qiubaiying.top",
@"count" : @(11),
@"strData" : strData,
@"dicData" : dicData,
@"set" : set,
@"Unicode" : @"