解决输出字典/数组 打印编码问题
来源:互联网 发布:4g移动网络接入点设置 编辑:程序博客网 时间:2024/05/22 08:22
在我们直接使用系统打印字典是,输出的汉字会变为Unicode编码,为了解决这个问题,我们需要重写系统的方法
首先我们创建一个NSDictionary 的分类 Decription
然后重写load方法,这load方法实现以下内容
+(void)load
{
[super load];
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [selfclass];
SEL originalSelector =@selector(descriptionWithLocale:);
SEL swizzledSelector =@selector(zwl_descriptionWithLocale:);
Method originalMethod =class_getInstanceMethod(class, originalSelector);
Method swizzledMethod =class_getInstanceMethod(class, swizzledSelector);
method_exchangeImplementations(originalMethod, swizzledMethod);
});
}
接着实现我们自己定义的方法
-(NSString *)zwl_descriptionWithLocale:(id)locale{
NSString *dataString =nil;
@try {
NSData *data = [NSJSONSerializationdataWithJSONObject:selfoptions:NSJSONWritingPrettyPrintederror:nil];
dataString = [[NSStringalloc] initWithData:dataencoding:NSUTF8StringEncoding];
} @catch (NSException *exception) {
dataString = nil;
} @finally {
if (dataString) {
return dataString;
}
return [self zwl_descriptionWithLocale:locale];
}
}
这样,我们通过使用runtime交换与系统的方法,得到了我们想要的结果。因为这次分享的内容过少,在这里我就不贴出工程的下载地址了。
- 解决输出字典/数组 打印编码问题
- ios-解决输出数组和字典中的汉字的时候出现Unicode编码的问题
- 解决iOS打印数组和字典中文显示异常问题
- 解决数组/字典中的中文出现编码的问题
- Log的使用技巧——解决字典和和数组的直接打印时问题
- Stm32打印输出数组溢出问题
- 字典__NSCFDictionary 打印问题
- 关于xcode打印数组或者字典,打印不出中文的解决
- IOS 将打印字典和数组的内容由字符编码变为中文
- python NP数组打印输出是省略号的问题
- 解决OEMIoControl中打印语句没输出的问题
- Xcode8解决控制台输出一大堆无用打印信息的问题
- PHP - 输出数组、字典JSON
- base64编码解码-解决xml输出转义问题
- 怎么解决输入流和输出流编码问题
- C#基础编码---打印数组
- 问题3:解决直接输出字典的内容无法显示中文的问题
- 打印字典和数组中的中文字符
- Android PopupWindow的使用技巧
- hashTable和hashMap区别
- 梁贿郊的兼职选择方法一定行的通吗
- 深刻理解Linux进程间通信(IPC)
- JS实现密码加密
- 解决输出字典/数组 打印编码问题
- Can't create handler inside thread that has not called Looper.prepare()
- Redis在线管理篇
- 修改UITableViewStyleGrouped形式的tableview的背景色 此博文包含图片(2013-09-10 11:11:57)转载▼ 分类: IOS笔记 在使用UITable
- 动态规划延伸 背包问题
- hdu1023 Train Problem II 卡特兰数
- Oracle数据库索引失效
- git操作基础:删除文件夹
- Oracle数据库解決因为for update未提交断掉导致锁表的问题