Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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
Swift 在两个ViewController之间传递两位数数据_Swift_Xcode - Fatal编程技术网

Swift 在两个ViewController之间传递两位数数据

Swift 在两个ViewController之间传递两位数数据,swift,xcode,Swift,Xcode,在我当前的项目中,我尝试在两个ViewController(ViewController1和ViewController2)之间传递数据。具体地说,我有一个计数器,当切换到第二个ViewController时,我想保持计数 第一个ViewController包含一个“双整数”值计数器。我设法通过下面的代码传递数据 ViewController1的代码: class ViewController1: UIViewController { var counter = 00.00

在我当前的项目中,我尝试在两个ViewController(ViewController1和ViewController2)之间传递数据。具体地说,我有一个计数器,当切换到第二个ViewController时,我想保持计数

第一个ViewController包含一个“双整数”值计数器。我设法通过下面的代码传递数据

ViewController1的代码:

class ViewController1: UIViewController {

    var counter = 00.00

    @objc func UpdateTimer() {
        counter = counter + 0.1
    }
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if let ViewController2 = segue.destination as? ViewController2 {
        ViewController2.counter = self.counter
    }
}
必须在第二个视图控制器中添加双类型变量:

从第一个视图控制器,您可以发送如下值:


您可能会在第二个viewController中声明一个双类型值,并且可以通过这种方式在第一个viewController中传递值(如果使用segue)


错误非常明显,您尝试将第一个值(Double类型)指定给String类型的变量。您能否显示分配值的代码行以及如何在第二个视图控制器中声明变量?可能重复
class SecondViewController: UIViewController {

    var doubleValue: Double?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
}
if let secondVC = storyboard?.instantiateViewController(withIdentifier: "doubleValue") as? SecondViewController {

            secondVC.doubleValue = 1.22
            self.navigationController?.pushViewController(secondVC, animated: true)
        }
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "segueIdentifier" {
        if let destViewController = segue.destination as? secondViewController {
            destViewController.doubleValue = self.doubleValue
        }
    }
}