Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Segue不发送信息_Ios_Swift_Xcode - Fatal编程技术网

Ios Segue不发送信息

Ios Segue不发送信息,ios,swift,xcode,Ios,Swift,Xcode,我有一个序列,计时器一到00点就开始。这个片段是在故事板上创建的。一旦它启动,它将进入下一个视图,其中包含4个不同的变量,这些变量应该会转移,但由于某些原因,这些变量都会转移为nil。变量不应为零。分钟总数来自滑块,startValue和startFraction都来自选择器,当前坦克来自另一个选择器 这是执行segue的代码 @objc func updateTimer(){ if seconds < 1 { timer.invalidate()

我有一个序列,计时器一到00点就开始。这个片段是在故事板上创建的。一旦它启动,它将进入下一个视图,其中包含4个不同的变量,这些变量应该会转移,但由于某些原因,这些变量都会转移为nil。变量不应为零。分钟总数来自滑块,startValue和startFraction都来自选择器,当前坦克来自另一个选择器

这是执行segue的代码

@objc func updateTimer(){

        if seconds < 1 {
            timer.invalidate()
            isTimerRunning = false
            performSegue(withIdentifier: "timeToFinal", sender: self)
        } else {
            seconds -= 1
            timeLabel.text = timeString(time: TimeInterval(seconds))
        }

这两个都来自ViewController

我创建了一个要点,复制了您提供的内容。您可以调整滑块,它将信息与其他3个字符串一起发送到FinalFlowViewController

这一切似乎都在起作用,所以请随意复制。

以下是实际行动:


您是否在操作函数中为选择器和开关设置了断点?在prepareForSegue中设置断点以检查值?您是否在
prepare(for:sender:)
中设置了断点并逐步查看发生了什么?这里有两个可能是假的
if
语句。@w11正是。OP,确保使用断点调试问题。是的,我知道if语句在updateTime和第二个函数上都正确返回,我在另一个viewController上有一个类似的prepare函数,可以正常工作,但其中只有一个正在传递的变量,而不是像这样的4。它通过segue只是不改变下一个视图控制器上的值。哪四个是nil,是当前类中的值还是您正在segue到的值?
     override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "timeToFinal"{
            if let finalFlowViewController = segue.destination as?  FinalFlowViewController{

                finalFlowViewController.currentTank = currentTank
                finalFlowViewController.startFraction = startFraction
                finalFlowViewController.startValue = startValue
                finalFlowViewController.time = minutesTotal

            }
        }
    }