iOS开发知识笔记--解决Xcode打印在控制台时中文乱码并显示成JSON格式

iOS开发知识笔记--解决Xcode打印在控制台时中文乱码并显示成JSON格式,第1张

一、作用

将字典(NSDictionary)和数组(NSArray)打印的Log显示为Json格式,可以解决Xcode打印字典和数组时中文显示乱码问题。

* 完美解决字典和数组调试打印时中文显示乱码问题,

*  使用JSON格式打印,可以通过JSON格式化验证

* 缩进格式显示,层次清晰

* 使用po命令调试时也能生效

* DEBUG模式生效,不影响线上版本

* 兼容iOS8及以上版本(iOS8以下没有测试过)

话不多说,直接将github仓库(https://github.com/shixueqian/PrintBeautifulLog)仓库上的这两个分类拉入到工程中即可自动生效。

 

二、测试验证

比如打印以下这个字典:

NSDictionary *dict = @{
        @"ArticleTitle":@"【iOS开发】打开另一个APP(URL Scheme与openURL)",
        @"ArticleUrl":@"https://blog.csdn.net/u011996095/article/details/121281907",
        @"author":@{
            @"nickName":@"方不慌",
            @"blog":@"https://blog.csdn.net/u011996095",
            @"work":@"iOS工程师"
        }
    };
NSLog(@"打印出的字典:%@",dict);

使用之前在Xcode控制台上显示打印的结果:

打印出的字典:{
    ArticleTitle = "\U3010iOS\U5f00\U53d1\U3011\U6253\U5f00\U53e6\U4e00\U4e2aAPP\Uff08URL Scheme\U4e0eopenURL\Uff09";
    ArticleUrl = "https://blog.csdn.net/u011996095/article/details/121281907";
    author =     {
        blog = "https://blog.csdn.net/u011996095";
        nickName = "\U65b9\U4e0d\U614c";
        work = "iOS\U5de5\U7a0b\U5e08";
    };
}

我们需要使用Unicode编码转换转码才能看到中文。

使用之后在Xcode控制台上显示打印的结果:

打印出的字典:{
  "ArticleTitle" : "【iOS开发】打开另一个APP(URL Scheme与openURL)",
  "ArticleUrl" : "https:\/\/blog.csdn.net\/u011996095\/article\/details\/121281907",
  "author" : {
    "work" : "iOS工程师",
    "blog" : "https:\/\/blog.csdn.net\/u011996095",
    "nickName" : "方不慌"
  }
}

中文出来了,而且格式也很好看,层次分明;也是JSON格式,可以拿去JSON在线解析及格式化验证。

三、使用方式

方式一:使用cocoapods

pod 'PrintBeautifulLog'

方式二:手动引入

直接将 PrintBeautifulLog文件夹内容 拉入到工程中即可自动生效使用。

四、原理

原理就查看原文作者简书上的一篇文章吧

让NSLog打印字典显示得更好看(解决中文乱码并显示成JSON格式)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/993432.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存