Tim*_*qua 4 console xcode multiline ios
我为基于Swift的iOS应用程序构建了一个基本的树数据结构,并且希望能够将其打印到控制台以进行调试。因此,我编写了一个函数,该函数将遍历树(预排序)并根据树中节点的深度在其自己的行上打印出每个节点的值,并在其之前插入许多选项卡。通过在代码中的某处调用该函数,在调试控制台中,它将显示如下:
root
node1
node1_1
node1_2
node2
node2_1
node2_1_1
node2_2
node3
node3_1
Run Code Online (Sandbox Code Playgroud)
很好,它允许我只printInfo()在代码中的重要位置进行调用,但是我很快意识到我需要能够像在断点处暂停时那样在现场打印String值。因此,我创建了一个计算属性infoString,该属性将使用所有换行符从树中构建字符串(\n)和制表)\t以为我可以在断点处将其打印在调试控制台中。
我使用命令进行了尝试po infoString,但输出到控制台的内容是:"root\n\tnode1\n\t\tnode1_1\n\t\tnode1_2\n\tnode2\n\t\tnode2_1\n\t\t\tnode2_1_1\n\t\tnode2_2\n\tnode3\n\t\tnode3_1",这在技术上是正确的,因为这就是String的含义,但是我想实际看到换行符和选项卡。
那么,如何打印我的String以便看到换行符和选项卡?
Tim*_*qua 10
我花了一段时间研究StackOverflow,并研究了p(print)和po(打印对象),当然学到了很多东西,但是我仍然找不到我想要的东西。
然后我回想起另一遍,我在调试一些密码编码代码时,需要用字符的“转义”版本手动替换某些字符(因此,双引号"将替换为\",单引号'将替换为\')。 。当我测试我是否正确替换了字符时,打印出字符串会导致真正的混乱并难以读取输出字符串。我不记得自己是怎么偶然发现的,但我将其转换String为NSString并以这种方式打印出来。
瞧!看起来正确了,转义字符完全正确显示了。因此,记住了这个技巧之后,我就用infoStringvar 尝试了一下。
果然,当我尝试使用时po infoString as NSString,它的打印与功能版本完全相同。
这就是诀窍。转换String到NSString时你把它打印出来在调试控制台。
如果您还有其他建议,请随时添加。
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |