Log的使用技巧——解决字典和和数组的直接打印时问题
来源:互联网 发布:mac os x10.5下载 编辑:程序博客网 时间:2024/05/21 17:08
由于Xcode对打印集合时没有做本地化设置,所以遍历的时候能打印中文字符 当直接打印集合的时候就会就将中文转化为Unicode码。为了解决这个问题,我们分别为NSArray和NSDictionary写两个分类拉进工程即可。
因为打印时,默认是调用从NSObject继承而来的- (NSString *)descriptionWithLocale:(id)locale方法,所以重写这个方法即可。
新建工程代码如下:
分类的.h文件如下:
#import <Foundation/Foundation.h>@interface NSArray (Log)@end@interface NSDictionary (Log)@end分类的.m文件如下:
#import "NSArray+Log.h"@implementation NSArray (Log)- (NSString *)descriptionWithLocale:(id)locale{ NSMutableString *strM = [NSMutableString stringWithString:@"(\n"]; [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { [strM appendFormat:@"\t%@,\n", obj]; }]; [strM appendString:@")"]; return strM;}@end@implementation NSDictionary (Log)- (NSString *)descriptionWithLocale:(id)locale{ NSMutableString *strM = [NSMutableString stringWithString:@"{\n"]; [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { [strM appendFormat:@"\t%@ = %@;\n", key, obj]; }]; [strM appendString:@"}\n"]; return strM;}@end控制器调用如下:
//// ViewController.m// Log的使用技巧//// Created by apple on 15/10/27.// Copyright (c) 2015年 LiuXun. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /*由于Xcode对打印集合时没有做本地化设置,所以遍历的时候能打印中文字符 当直接打印集合的时候就会就将中文转化为Unicode码 */ NSArray *array = @[@"张三", @"list", @"123"]; NSLog(@"array= %@", array); for (NSString *str in array) { NSLog(@"%@", str); } }@end没有新建分类之前,打印结果如下:
新建分类后 后台打印结果如下:
0 0
- Log的使用技巧——解决字典和和数组的直接打印时问题
- 解决iOS打印数组和字典中文显示异常问题
- 进行Log的统一管理和解决Log信息过长打印不全的问题
- [Object-c] Log(输出数组和字典的中文内容)
- 数组和字典的取值问题
- iOS数组和字典的使用----大坑
- 使用AFNetWorking POST请求时 传数组和字典嵌套的问题
- ios-解决输出数组和字典中的汉字的时候出现Unicode编码的问题
- iOS开发小技巧--字典和数组的中文输出
- 解决输出字典/数组 打印编码问题
- javascript学习笔记—数组和字符串的使用技巧
- Python——“元组、列表、字典、数组和矩阵”的大小问题
- OC直接打印数组,数组元素显示中文的问题
- 解决爱加密加固之后使用xposed hook的时候log打印不出来的问题
- OC基础—数组和字典的遍历方法总结
- C#数组的使用和技巧
- 解决eclipse下面 LOG有时无法打印的问题
- 解决Eclipse中不打印log的问题
- D3.js学习笔记(一)——DOM上的数据绑定
- 【TS问题排查】tomcat字符集的修改
- jQuery Validation Engine表单验证为false
- LINUX 服务器之间文件传输SCP命令
- startActivities的用法个人理解
- Log的使用技巧——解决字典和和数组的直接打印时问题
- Mongodb3.0配置文件
- 为OpenStack制作Windows 2008 R2镜像
- QThread 的使用方法 注意事项
- startActivityForResult的用法
- 方形View和ViewGroup
- swift中利用闭包进行反向传值
- MZOJ2007:路灯的改建计划
- IOS中定时器NSTimer的开启与关闭