Swift 将步进值传递给另一个视图控制器

Swift 将步进值传递给另一个视图控制器,swift,view,controller,stepper,Swift,View,Controller,Stepper,非常简单的代码,我的问题是第一次打印显示正确的值,但是第二次打印总是显示0。我试图将步进器的值传递给我的下一个视图控制器(calcVC) 编辑:忘了提到我的问题发生在我点击一个按钮时,该按钮会触发一个到CalcVC的解除序列,这是当我松开该值时。另外,这段代码在TableViewCellVC中,我的放松顺序是从TableViewVC到CalcVC,这就是为什么我对CalcVC有问题的原因 最终编辑:通过创建全局变量将其修复 var stepperValue = 1 @IBAction

非常简单的代码,我的问题是第一次打印显示正确的值,但是第二次打印总是显示0。我试图将步进器的值传递给我的下一个视图控制器(calcVC)

编辑:忘了提到我的问题发生在我点击一个按钮时,该按钮会触发一个到CalcVC的解除序列,这是当我松开该值时。另外,这段代码在TableViewCellVC中,我的放松顺序是从TableViewVC到CalcVC,这就是为什么我对CalcVC有问题的原因

最终编辑:通过创建全局变量将其修复

    var stepperValue = 1


@IBAction func stepperValueChanged(_ sender: Any) {

    stepperValue = Int(stepper.value)

    print(stepperValue)

    stepperLabel.text = String(stepperValue)

    let CalcVC = CalculatorVC()

    stepperValue = CalcVC.calcVCStepperValue

    print(stepperValue)
}

您需要将
stepperValue
的值分配给
CalcVC.calcvcstepprovalue
。此时,您正在创建
CalcVC
,然后打印出
calcvcstepprovalue
的默认值

let CalcVC = CalculatorVC()
CalcVC.calcVCStepperValue = stepperValue
stepperValue = CalcVC.calcVCStepperValue
print(stepperValue)
如果使用segues执行此操作,则无法创建视图控制器的新实例。相反,您需要在要展开的视图控制器上实现
prepareforsgue
功能,并使用segue参数访问
destinationViewController


中有一个现有的答案,
calcvcstepprovalue的值是多少
?简单地说,var calcvcstepprovalue=Int(),因此基本上是将stepperValue设置为0,因为您间接地将stepperValue的值设置为Int(),即0。根据断点,这是可行的,但是我忽略了我的问题,当我点击一个按钮触发并释放到CalcVC时,我的问题就发生了。我更新了我的原始帖子以反映这一点,更新了我的答案:)通过创建一个全局变量进行了修复。谢谢