2017-07-03 28 views
-1

我有一個包含字符串類型值的數組,並且一個字符串值包含符號&和另一個符號^。所以當它們顯示的時候UILabel保持空白。UILabel將不會在Swift中顯示特定的字符串變量

let myString = arrayStrings[0] // The value is "M&M" or "(0C)^3" 
myLabel.text = myString //UILabel remains blank 

在另一方面,如果我硬編碼字符串,則UILabel顯示它。

myLabel.text = "M&M" //UILabel displays it normally 

我該怎麼辦?

就意識到,當我打印陣列我有以下結果:

print("Array: \(arrayStrings)" // Array: ["\0M&M\0", "\0(0C)^3\0"] 

「\ 0」不存在於其餘陣列

感謝您的絃樂!

+0

如何創建'arrayStrings'數組?它是通過閱讀文件填充的嗎?或者調用Web服務? – rjstelling

+0

閱讀csv文件...同時,當我打印(myString)它通常顯示 –

+0

從CSV中填充後,嘗試一個'print(「Array:\(arrayStrings)」)'(將該輸出添加到您的問題) – rjstelling

回答

2

\0表示編程中的字符串終止。因此,您的字符串"\0M&M\0"表示該字符串在索引0處終止,然後再次結束。因此,當您將此字符串分配給您的標籤時,您的標籤顯示空字符串。

要調整它,做到這一點,你會看到不同之處。你的問題是不相關的&或^

myLabel.text = "M&M\0 Hey I have lots of stuff here but the string is already terminated" 

所以在這種情況下,你需要找出爲什麼存在於您的字符串\0。你可以通過正則表達式或字符串替換來刪除它們。

+0

謝謝!不知道。也許它與我使用String =「#$%^&」作爲從csv到Array的String分隔符的事實有關。現在我將使用replacementOccurences並稍後更改分隔符。 –

相關問題