/*
Create a new category, print with Chinese nsdictionary and Nsarray will not appear garbled again:
*/
#import <Foundation/Foundation.h>
@implementation Nsdictionary (Log)
-(NSString *) Descriptionwithlocale: (ID) locale
{
Nsarray *allkeys = [ self allKeys];
nsmutablestring *str = [[Nsmutablestring alloc] Initwithformat:@ "{\ n"];
for (NSString *key in AllKeys) {
ID value= self [key];
[Str appendformat:@ "\t%@ =%@;\n", key, value];
}
[Str appendString:@ "}"];
return str;
}
@end
@implementation Nsarray (Log)
-(NSString *) Descriptionwithlocale: (ID) locale
{
nsmutablestring *str = [nsmutablestring string];
//Splicing
[Str appendString:@ "("];
[Self enumerateobjectsusingblock:^(id _nonnull obj, Nsuinteger idx, BOOL * _nonnull stop) {
[Str appendstring:[nsstring stringWithFormat:@ "\n\t%@,", obj]];
}];
[Str appendString: @ "\ n]"];
//nsbackwardssearch Search from the back forward
Nsrange rang = [str rangeofstring:@ "," Options:nsbackwardssearch];
if (rang.location! = nsnotfound) {
[Str Deletecharactersinrange:rang];
}
return str;
}
@end
Nsdictionary and Nsarray printing Chinese garbled solutions