我是一般的编程新手,想知道如何做到这一点。我正在创建一个简单的应用程序,我需要跟踪分数并相应地更新UILabel
。标签名为'得分' 。当用户按下UIButton
时,我需要它增加1。这是否涉及制作新的.swift文件?请记住,我是一个完整的新手。
答案 0 :(得分:2)
不需要新的swift文件,在具有UILabel的viewcontroller中,为分数定义变量
var scoreValue = 0 //define in the class, next to your score label probably
然后当你需要更新标签时,在按下按钮时调用的某个函数会执行类似
的操作scoreValue += 1 //increase scoreValue by 1
score.text = "Score: \(scoreValue)" //labels text will look like "score: 1"
答案 1 :(得分:2)
没有。您不必创建任何新的.swift文件。下面的代码将解释如何执行此操作并尝试相关地添加代码。
var score = 0 //declare in class level
//按钮点击操作
@IBAction func ButtonClick(sender: AnyObject) {
score+= 1
scoreLabel.text = "Score : \(score)" //this will display the score increased by 1.
}
答案 2 :(得分:2)
首先在标签上添加IBOutlet,在按钮上添加IBAction。
您可以在下拉菜单中选择它是Outlet还是操作。接下来,在IBAction函数中更新您的标签!
我希望这有助于您入门!
哦,欢迎编程! :)
答案 3 :(得分:1)
因此,此处的目标是使用增加标签上显示的值的事件来响应“操作”。因此,我们需要将其分解为几个不同的部分。
对于数字1,您需要在Xcode的“Interface Builder”中查看创建“action”。您还需要使用类似的方法将标签设置为“outlet”。我们将标签称为“lblScore”
对于第二个,您需要声明一个variable来保持计数器。让我们将这个变量称为“count”,所以:
var count = 0
现在,您需要在您在数字1中设置的操作中添加计数器递增。您可以在Swift中通过以下方式执行此操作:
count += 1
这将为count的当前值加1。现在,您需要做的就是更新标签的值,使其成为“count”的当前值。
但等等,“count”的值是“int”,UILabel的“text”属性是“字符串”!这意味着您需要将“cast”值设置为字符串。同样,你会这样做:
lblScore.text = String(count)
总而言之,它看起来像:
class ViewController: UIViewController {
@IBOutlet weak var lblScore: UILabel!
var count = 0;
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func addScore(sender: AnyObject) {
count += 1
lblScore.text = String(count)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我希望这有帮助!