iOS开发——输出中文(字典和数组)


      经常用网络请求返回Json数据,

    其中字典或者数组打印输出中文,非看不懂的Unicode编码


1.支持NSLog输出中文

2.支持控制台po输出中文


实现方式==》:

1.新建NSDictionary分类 (Xcode8 )




2.自动生成.h和.m文件,在.m文件如下实现(这样就可以自动输出中文了):

//
//  NSDictionary+Log.m
//
//  Created by 刘成利 on 2016/12/15.

#import "NSDictionary+Log.h"

@implementation NSDictionary (Log)

// NSLog输出
- (NSString *)descriptionWithLocale:(id)locale
 {
         NSMutableString *string = [NSMutableString string];

        // 开头有个{
         [string appendString:@"{\n"];
    
        // 遍历所有的键值对
         [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
                [string appendFormat:@"\t%@", key];
                 [string appendString:@" = "];
                 [string appendFormat:@"%@,\n", obj];
             }];
    
        // 结尾有个}
         [string appendString:@"}"];
    
         // 查找最后一个逗号
         NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];
         if (range.location != NSNotFound)
             [string deleteCharactersInRange:range];
    
         return string;
 }

// 输出台po命令输出
-(NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
{
    NSMutableString *string = [NSMutableString string];
    
    // 开头有个{
    [string appendString:@"{\n"];
    
    // 遍历所有的键值对
    [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        [string appendFormat:@"\t%@", key];
        [string appendString:@" = "];
        [string appendFormat:@"%@,\n", obj];
    }];
    
    // 结尾有个}
    [string appendString:@"}"];
    
    // 查找最后一个逗号
    NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];
    if (range.location != NSNotFound)
        [string deleteCharactersInRange:range];
    
    return string;
}
@end


// 数组输出
@implementation NSArray (Log)
- (NSString *)descriptionWithLocale:(id)locale
 {
         NSMutableString *string = [NSMutableString string];
    
         // 开头有个[
         [string appendString:@"[\n"];
    
         // 遍历所有的元素
         [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
                 [string appendFormat:@"\t%@,\n", obj];
             }];
    
         // 结尾有个]
         [string appendString:@"]"];
    
         // 查找最后一个逗号
         NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];
         if (range.location != NSNotFound)
             [string deleteCharactersInRange:range];
     
         return string;
}



@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值