Ios 如何通过按下单独视图中的按钮来增加标签?

Ios 如何通过按下单独视图中的按钮来增加标签?,ios,swift,uiviewcontroller,Ios,Swift,Uiviewcontroller,因此,基本上我熟悉应用程序开发和Xcode,但我仍处于学习的初级阶段,需要一些帮助。我已经创建了一个情绪测验类型UI,在10个问题的末尾,我有一个页面,显示用户在整个测验中获得的不同情绪和分数。我需要的帮助是,用户单击问题1上的按钮,使我的结果页面上的标签增加1。到目前为止,我已经尝试了许多不同的方法,但似乎还不太明白。我把我的按钮作为动作链接到它们各自的视图控制器上,把标签作为插座链接到它们各自的视图控制器上 import UIKit class Question1: UIViewC

因此,基本上我熟悉应用程序开发和Xcode,但我仍处于学习的初级阶段,需要一些帮助。我已经创建了一个情绪测验类型UI,在10个问题的末尾,我有一个页面,显示用户在整个测验中获得的不同情绪和分数。我需要的帮助是,用户单击问题1上的按钮,使我的结果页面上的标签增加1。到目前为止,我已经尝试了许多不同的方法,但似乎还不太明白。我把我的按钮作为动作链接到它们各自的视图控制器上,把标签作为插座链接到它们各自的视图控制器上

    import UIKit

class Question1: UIViewController {

@IBAction func buttonlightgreen(_ sender: UIButton) {
    print ("light green")
    sadscoreText += 1

}

@IBAction func buttonred(_ sender: Any) {
    print ("red")
    angryscoreText += 2
    happyscoreText += 1
}

@IBAction func buttonpurple(_ sender: Any) {
    print ("purple")
    annoyedscoreText += 1
    stressedscoreText += 1
}

@IBAction func buttondarkgreen(_ sender: Any) {
    print ("dark green")
    relaxedscoreText += 2
    tiredscoreText += 1
}

@IBAction func buttonyellow(_ sender: Any) {
    print ("yellow")
    happyscoreText += 1
}



override func viewDidLoad() {

    super.viewDidLoad()

}



}
这是按钮的代码,这是标签的代码

    import UIKit

var sadscoreText = 0
var happyscoreText = 0
var relaxedscoreText = 0
var angryscoreText = 0
var annoyedscoreText = 0
var tiredscoreText = 0
var stressedscoreText = 0

class Results: UIViewController {

@IBOutlet weak var sadscore: UILabel!
@IBOutlet weak var happyscore: UILabel!
@IBOutlet weak var relaxedscore: UILabel!
@IBOutlet weak var angryscore: UILabel!
@IBOutlet weak var annoyedscore: UILabel!
@IBOutlet weak var tiredscore: UILabel!
@IBOutlet weak var stressedscore: UILabel!


var sadscoreText: Int = 0 {
    didSet {
        sadscore.text = "\(sadscoreText)"
    }
}

override func viewDidLoad() {
    super.viewDidLoad()

    sadscoreText = 0
    happyscoreText = 0
    relaxedscoreText = 0
    angryscoreText = 0
    annoyedscoreText = 0
    tiredscoreText = 0
    stressedscoreText = 0
}
}

我认为它不起作用的原因是,在viewDidLoad方法中将修改后的值指定给label之前,您正在为值指定0。您可以实现如下所需的行为:

按如下方式修改结果视图控制器:

import UIKit

var sadscoreText = 0
var happyscoreText = 0
var relaxedscoreText = 0
var angryscoreText = 0
var annoyedscoreText = 0
var tiredscoreText = 0
var stressedscoreText = 0

class Results: UIViewController {

@IBOutlet weak var sadscore: UILabel!
@IBOutlet weak var happyscore: UILabel!
@IBOutlet weak var relaxedscore: UILabel!
@IBOutlet weak var angryscore: UILabel!
@IBOutlet weak var annoyedscore: UILabel!
@IBOutlet weak var tiredscore: UILabel!
@IBOutlet weak var stressedscore: UILabel!


override func viewDidLoad() {
    super.viewDidLoad()

    sadscore.text = "\(sadscoreText)"
    happyscore.text = "\(happyscoreText)"
//follow the same for other labels

//you can set the values again to zero after showing the labels on the screen like this
    sadscoreText = 0
    happyscoreText = 0

}
}