iOS解决数组和字典输出汉字问题

2017-08-28  本文已影响264人  搬码小能手

解决前:

ok前.jpg

解决后:

解决后.png

注意:看第一张图片,我取出数组里的元素和字典里的值的时候,是可以正常输出汉字的.所以解决方案来了,遍历数组里的元素和字典的键值对就可以解决.但是,请不要麻烦写for循环了.写个分类category.

看左边蓝色选中的文件:

//
//  NSArray+EX.m
//  解决数组字典输出汉字的问题
//
//  Created by Mac on 2017/8/28.
//  Copyright © 2017年 Mac. All rights reserved.
//

#import "NSArray+EX.h"

@implementation NSArray (EX)
- (NSString *)descriptionWithLocale:(id)locale{
NSMutableString * mStr = [NSMutableString string];
    
    [mStr appendString:@"(\r\n"];
    [self enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        [mStr appendFormat:@"\t%@,\r\n",obj];
    }];
    
    [mStr appendString:@")"];
    return mStr.copy;


}
@end


//
//  NSDictionary+EX.m
//  解决数组字典输出汉字的问题
//
//  Created by Mac on 2017/8/28.
//  Copyright © 2017年 Mac. All rights reserved.
//

#import "NSDictionary+EX.h"

@implementation NSDictionary (EX)


- (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;
}

@end

把写好的文件拖到你的项目里就OK了。

上一篇下一篇

猜你喜欢

热点阅读