我为基于Swift的iOS应用程序构建了一个基本的树形数据结构,并希望能够将其打印到控制台以进行调试。因此,我编写了一个函数,该函数将遍历整个树(先序遍历),并在每个节点处单独打印出节点的值,每行前面插入一定数量的制表符,该数量根据节点在树中的深度而定。通过在代码的某个位置调用该函数,在调试控制台上会像这样打印:
root
node1
node1_1
node1_2
node2
node2_1
node2_1_1
node2_2
node3
node3_1
等等。这很好,它使我可以在代码的重要位置只调用printInfo()
,但我很快意识到我需要能够即时打印字符串值,就像当我在断点处暂停时一样。因此,我创建了一个计算属性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"
,从技术上讲这是正确的,因为这就是字符串,但我想实际上看到换行符和制表符。
那么,我如何打印我的字符串以便看到换行符和制表符呢?