我继续我的数学问题项目,它现在可以生成问题,所以我需要尝试使用全局变量来使用我的答案来生成答案本身并将答案随机地放入4选择。我决定在我的视图之外添加一个秘密标签,以显示答案。这是我的代码:
//important stuff
@IBOutlet var secretAnsarrrrr: UILabel!
//useless code
//declare the value of secretAnsarrrr
secretAnsarrrrr.text = String(answer)
numA.text = String(Int(randomNumber))
numB.text = String(Int(randomNumber2))
}
generateQuestion()
}
var optionAnswer:UInt32 = arc4random_uniform(4)
@IBAction func answerA(sender: UIButton) {
var otherAns:String = String(secretAnsarrrrr) //error
if optionAnswer == 0 {
optionA.text = secretAnsarrrrr.text
}
这样做会给我一个错误:'缺少参数标签:CallInterpolationSegment in call'。它告诉我把它放在秘密安萨尔'在括号中。 stringInterpolationSegment做了什么以及如何解决这个问题?
答案 0 :(得分:1)
secretAnsarrrrr
本身不是字符串 - 它是UILabel
,其中还包含颜色和字体等信息。您需要告诉Swift使用其text
属性:
var otherAns:String = String(secretAnsarrrrr.text)
答案 1 :(得分:0)
我刚刚遇到这个错误,经过一些头疼,我意识到我需要打开一个可选的整数,我试图用String(...)解析。一旦我添加了感叹号,问题就解决了:
var num: Int? = 1
var str = String(num!)
答案 2 :(得分:0)
最好写:
var num: Int? = 1
var str = num.map { String($0) } // if num == nil then str = nil else str = string representation