如何在没有操作的情况下将标签的值设置为等于另一个?

时间:2017-03-21 18:00:39

标签: ios swift tabbarcontroller

我目前正在Xcode的iOS应用程序(Swift)上学习我在学校的工作学习。要突出显示此问题中提到的部分的背景:用户通过一系列页面来基本上通过护理模拟对学生的表现进行评分。我需要有一个额外的选项卡,用户可以通过显示他们在场景中完成的选项数量来验证已输入的评分。

基本上我有一个带有三个标签的标签式视图控制器。第一个选项卡具有用户可以打开或关闭的开关,以添加或减少变量," WASH"。第二个选项卡是相同的,但它添加/减去变量," ID"。第三个选项卡用于确认值。因此,如果学生2/3洗手,4/5检查患者的ID,则应在此处查看。

这里基本上是每个开关的代码

@IBOutlet weak var IDTOTAL: UILabel!
@IBOutlet weak var CHECKID1: UISwitch!    
@IBAction func ID1(_ sender: UISwitch) {
        if(CHECKID1.isOn) {
            ID = ID + 1
            total = total + 1
            IDTOTAL.text = String(ID)
        }
        else {
            ID = ID - 1
            total = total - 1
            IDTOTAL.text = String(ID)
        }

    }

请注意,变量ID和total是全局变量。目前,IDTOTAL与交换机位于同一个视图控制器上,这很好用。我试图在确认视图控制器上添加另一个名为" IDTOTAL2"并尝试将其设置为" IDTOTAL2.text = String(ID)"但这会引发错误。

如何让最后一页上的标签更新其值而无需用户按下按钮来启动操作?

编辑:Please refer to this picture to see the error I am getting.

1 个答案:

答案 0 :(得分:0)

您可以在第三个标签的viewDidAppear功能中更新标签,因为每次从另一个标签切换到此标签时都会触发标签。只需添加:

override func viewDidAppear(_ animated: Bool) { //update your labels here }