在用NSLog输出NSArray或者NSDictionary时,总是把中文输出成unicode,辨认起来很麻烦。
解决: descriptionWithLocale方法可以自定义NSLog的格式
在工程中给NSArray和NSDictionary加分类,输出即可正常:
#import "NSArray+Extension.h"
@implementation NSArray (Extension)
-(NSString *)descriptionWithLocale:(id)locale
{
NSMutableString *msr = [NSMutableString string];
[msr appendString:@"["];
for (id obj in self) {
[msr appendFormat:@"\n\t%@,",obj];
}
//去掉最后一个逗号(,)
if ([msr hasSuffix:@","]) {
NSString *str = [msr substringToIndex:msr.length - 1];
msr = [NSMutableString stringWithString:str];
}
[msr appendString:@"\n]"];
return msr;
}
#import "NSDictionary+Extension.h"
@implementation NSDictionary (Extension)
-(NSString *)descriptionWithLocale:(id)locale{
NSMutableString *msr = [NSMutableString string];
[msr appendString:@"{"];
[self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[msr appendFormat:@"\n\t%@ = %@,",key,obj];
}];
//去掉最后一个逗号(,)
if ([msr hasSuffix:@","]) {
NSString *str = [msr substringToIndex:msr.length - 1];
msr = [NSMutableString stringWithString:str];
}
[msr appendString:@"\n}"];
return msr;
}
其实并没有什么变化,好像只是又手工输出了一遍,但是输出的是id类型