我希望点数出现在我称之为分数的标签上。它不断出现错误。我尝试了多种不同的方法,但每次都会出错。有人可以解决这个问题吗?
//VARIABLES
var currentQuestion = 0
var rightAnswerPlacement:UInt32 = 0
var points:UInt32 = 0
//SCORE
@IBOutlet weak var score: UILabel!
//QUESTION
@IBOutlet weak var lbl: UILabel!
//BUTTON
@IBAction func action(_ sender: AnyObject)
{
if (sender.tag == Int(rightAnswerPlacement))
{
print("Right")
points += 1
}
else
{
print("Wrong")
}
if (currentQuestion != questions.count)
{
newQuestion()
}
else
{
score.text = points
}
}
您不能将UILabel .text属性(它是一个String)设置为Int。你需要先把它变成一个String。像这样:
score.text = "\(points)"
text
的UILabel
属性是String
类型,所以你需要将points
投射到String
然后再将其设置为score.text
。更换:
score.text = points
附:
score.text = "\(points)"
要么
score.text = String(points)
作为旁注,在Swift中你可以像这样编写你的if
语句:
if currentQuestion != questions.count {
}