我似乎无法理解为什么以下情况不起作用:
var content : NSString = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text)
我收到以下错误:
NSString与' UInt8'
不同
答案 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;"
}