2017-03-21 30 views
-1

我目前正在Xcode的iOS应用程序(Swift)上工作,在学校工作。为了突出在这个问题中提到的部分的背景:用户浏览一系列页面,基本上通过护理模拟对学生的表现进行评分。我需要在那里有一个额外的选项卡,用户可以验证已输入的评分,只需显示他们在场景中完成的选择数量即可。如何在没有任何操作的情况下将标签的值设置为等于另一个值?

基本上我有一个带有三个选项卡的选项卡式视图控制器。第一个选项卡包含开关,用户可以打开或关闭以添加或减去变量“WASH”。第二个选项卡是相同的,但它添加/减去变量“ID”。第三个选项卡是确认值。所以如果学生做2/3洗手和4/5检查病人的身份证件,应该在这里查看。

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

@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和总的全局变量。目前,IDTOTAL与交换机在同一个视图控制器上,并且工作正常。我试图在名为“IDTOTAL2”的确认视图控制器上添加另一个标签,并尝试将其设置为“IDTOTAL2.text = String(ID)”的值,但是会引发错误。

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

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

+2

为什么要按钮?只需在用户选择开关时在事件处理程序中执行此操作?或者你可以在汇总控制器的'viewWillAppear'方法中完成。 –

+0

我想在用户选择开关时在事件处理程序中执行此操作,但这会引发错误。我不完全确定汇总控制器的含义。 –

+0

“通用变量”是什么意思?全局变量为 – Losiowaty

回答

0

您可以在第三个选项卡的viewDidAppear功能更新您的标签,因为它被触发每次你从另一个选项卡切换到这一次。只需添加:

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

+1

这会引发错误,它与上面的错误相同。 :( –

相关问题