2014-10-27 61 views
1

我有一個字符串數組,這是我需要轉換成單字符串與多線顯示陣列 - SWIFT

var array = ["A","B","C","D","E"] 
var multiLineString = //convert array to a string 
println("\(multiLineString)") 

輸出應爲:

A 
    B 
    C 
    D 
    E 
+0

可能重複的[在Swift中連接字符串](http://stackoverflow.com/questions/26583300/concatenate-string-in-swift) – Antonio 2014-10-27 09:42:47

回答

3

這應該是這樣的:

var array = ["A","B","C","D","E"] 
var multiLineString = join("\n", array) 
println("\(multiLineString)") 

請注意,控制檯不會在多行上打印此信息。

UPDATE: ,以獲取標籤的高度,以顯示這個字符串:

let label = UILabel() 
label.text = multiLineString 
label.numberOfLines = 0 
label.lineBreakMode = NSLineBreakMode.ByWordWrapping 
label.sizeToFit() 
println("Height: \(label.frame.height)") 
+0

我需要得到一個字符串的總高度。所以我可以在一個單元格中顯示多行的字符串。 'multiLineString'是否給出了正確的高度? – 2014-10-27 09:37:02

+0

@iPhoneGuy查看我的更新回答如何獲得顯示此字符串的標籤的正確高度。 – Tom 2014-10-27 09:48:47

1

嘗試join

var array = ["A","B","C","D","E"] 
var multiLineString = join("\n", array) 
println("\(multiLineString)") 
+0

我需要得到一個字符串的總高度。所以我可以在一個單元格中顯示多行的字符串。 'multiLineString'是否給出了正確的高度? – 2014-10-27 09:38:19

+0

@iPhoneGuy:你似乎在這裏混合了不同的問題。一個*字符串*只是一個字符集合,與視覺表示無關。 *高*取決於其他參數,例如所選的*字體*。也許這個http://stackoverflow.com/questions/7174007/how-to-calculate-uilabel-height-dynamically(和相關的問題)是你在找什麼。 – 2014-10-27 09:46:36

+0

正確@MartinR。但是,我更新了上面的答案,以顯示如何獲得顯示字符串的標籤的高度。 – Tom 2014-10-27 09:47:44

1

由於雨燕2.0,這將產生錯誤:

Cannot invoke join with an argument list of type (String, [String])

用這個代替:

array.joinWithSeparator("\n")