Swift中的字符串格式

时间:2015-02-10 03:58:59

标签: ios string swift formatting

我似乎无法理解为什么以下情况不起作用:

var content : NSString = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text)

我收到以下错误:

  

NSString与' UInt8'

不同

3 个答案:

答案 0 :(得分:1)

这是因为NSString课程不支持使用+追加字符串。它仅在您使用String时才支持。您可以通过以下方式解决该问题:

var content : String = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text!)

答案 1 :(得分:0)

尝试使用字符串插值:

content += "var \(myLabel.text) = false;"

答案 2 :(得分:0)

为什么不使用Swift的字符串插值而不是格式?

content += "var \(myLabel.text!) = false;"

它没有为您提供在NSString格式中非常有用的数字格式,但您只是插入一个不需要格式化的字符串。

然而使用!没有检查总是让我抽搐,所以如下:

if let labelText = myLabel.text {
    content += "var \(labelText) = false;"
}