如何使用Swift在XCode上单击按钮时,将得分提高一点
问题描述:
对于简单的问题,我对IOS开发人员来说很新颖。我想要做的是使UILabel设置为0,每次点击一个按钮时都会加1。这里是在ViewController.swift上给出的默认代码,并且我已经为按钮的标签和动作创建了一个Outlet。如何使用Swift在XCode上单击按钮时,将得分提高一点
import UIKit
class ViewController: UIViewController {
@IBOutlet var score: UILabel!
@IBAction func button(sender: UIButton) {
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
答
CHANGE LABEL NAME TO BE MORE DESCRIPTIVE
CREATE SCORE VARIABLE AND START IT AT 0 SO YOU HAVE A SCORE TO PRESENT FROM THE START
MAKE IT BEAUTIFUL
import UIKit
class ViewController: UIViewController {
@IBOutlet var scoreLabel: UILabel!
private var score = 0
@IBAction func button(sender: UIButton) {
score += 1
scoreLabel.text = "\(score)"
}
override func viewDidLoad() {
super.viewDidLoad()
scoreLabel.text = "\(score)"
scoreLabel.backgroundColor = UIColor.pinkColor()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
答
您需要一个变量来计数。像var counter = 0
和在功能按钮,你把counter +=1
和score.text = "\(counter)"
。我没有尝试,现在在Xcode的,但据我所知,应该工作
答
这可能是做这件事的一种方法:
@IBOutlet weak var scoreLabel: UILabel!
@IBAction func updateScore(sender: AnyObject) {
//Check if String can be parsed to integer
if let score = NSNumberFormatter().numberFromString(scoreLabel.text!) {
var myInt = score.integerValue
myInt = myInt + 1
scoreLabel.text = "\(myInt)"
} else {
scoreLabel.text = "0"
}
}
刚刚试了一下,:)你也可以把'score.text =“\(counter)”'放到viewDidLoad中,在开头显示0 ......如果我的答案对你有帮助,请将它标记为正确答案:) –