無法理解爲什麼下面不工作:字符串在斯威夫特
var content : NSString = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text)
我得到以下錯誤:
NSString is not identical to 'UInt8'
無法理解爲什麼下面不工作:字符串在斯威夫特
var content : NSString = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text)
我得到以下錯誤:
NSString is not identical to 'UInt8'
這是因爲NSString
類不支持追加字符串使用+
。它僅在您使用String
時才支持。
var content : String = ""
let myLabel : UILabel = self.view.viewWithTag(i) as UILabel
content += String(format:"var %@ = false;", myLabel.text!)
嘗試使用字符串插值:
content += "var \(myLabel.text) = false;"
而不是使用格式的,爲什麼不使用雨燕的字符串插值可以通過解決這個問題?
content += "var \(myLabel.text!) = false;"
它不給你的數字格式是在的NSString的格式非常有用,但你只是將無需任何格式的字符串。
但是使用!不檢查總是讓我抽搐,所以怎麼樣是這樣的:
if let labelText = myLabel.text {
content += "var \(labelText) = false;"
}
@JeremyPope:我使用的XCode 6.1.1,它不工作現在最新的測試檢查。 – 2015-02-10 04:28:36
Midhun是正確的。 – 2015-02-10 04:30:04