我爲基於Swift的iOS應用程序構建了一個基本的樹狀數據結構,並且我希望能夠將它打印到控制檯進行調試。因此,我編寫了一個遍歷樹(前序)的函數,並根據樹中節點的深度,在其自身行上的每個節點上打印出值,並在其之前插入多個選項卡。很快在Xcode調試控制檯中打印多行字符串
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"
,這在技術上是正確的,因爲這是字符串是什麼,但我想其實看到的換行和標籤。
那麼如何打印我的字符串,以便看到換行符和製表符?