美文网首页
iOS 让中文打印时输出的Unicode编码显示为正常的中文输出

iOS 让中文打印时输出的Unicode编码显示为正常的中文输出

作者: 笔头还没烂 | 来源:发表于2020-10-21 10:19 被阅读0次

    需要在项目中直接引用三个文件:.Ulysses-Group.plist 文件,"NSArray+Log.h"头文件以及"NSArray+Log.m"实现文件。工程引入这三个文件重新跑,即可让原本打印中文输出的Unicode编码显示为正常的中文输出。

    1、文件可以通过下面这个链接获取:
    链接: https://pan.baidu.com/s/1VqOLpTKonA-S9UborwACSw 密码: c6e9

    2、所有文件的源码如下
    (1).plist文件源码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>createMarkedFile</key>
        <false/>
        <key>sheetClusters</key>
        <array>
            <array>
                <string>NSArray+Log.h</string>
            </array>
            <array>
                <string>NSArray+Log.m</string>
            </array>
        </array>
    </dict>
    </plist>
    

    (2).h文件源码如下:

    #import <Foundation/Foundation.h>
    
    @interface NSArray (Log)
    
    @end
    
    @interface NSDictionary (Log)
    
    @end
    

    (3).m文件源码如下:

    #import "NSArray+Log.h"
    
    @implementation NSArray (Log)
    
    // 只需要在分类中,重写这个方法的实现,不需要导入分类文件就会生效
    - (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level
    {
        // 定义用于拼接字符串的容器
        NSMutableString *stringM = [NSMutableString string];
        
        // 拼接开头
        [stringM appendString:@"(\n"];
        
        // 拼接中间的数组元素
        [self enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            
            [stringM appendFormat:@"\t%@,\n",obj];
            
        }];
        
        // 拼接结尾
        [stringM appendString:@")\n"];
        
        return stringM;
    }
    
    @end
    
    @implementation NSDictionary (Log)
    
    // 只需要在分类中,重写这个方法的实现,不需要导入分类文件就会生效
    - (NSString *)descriptionWithLocale:(id)locale
    {
        // 定义用于拼接字符串的容器
        NSMutableString *stringM = [NSMutableString string];
        
        // 拼接开头
        [stringM appendString:@"{\n"];
        
        // 遍历字典,拼接内容
        [self enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            [stringM appendFormat:@"\t%@ = %@;\n",key,obj];
        }];
        
        // 拼接结尾
        [stringM appendString:@"}\n"];
        
        return stringM;
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:iOS 让中文打印时输出的Unicode编码显示为正常的中文输出

          本文链接:https://www.haomeiwen.com/subject/acdumktx.html