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

时间:2018-04-29 13:34:36

标签: swift xcode

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

第一个ViewController包含一个'双INT'值计数器。我通过以下代码管理传递数据。

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
    }
}

2 个答案:

答案 0 :(得分:0)

  

您必须在第二个视图控制器中添加双重类型变量:

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)
        }

答案 1 :(得分:0)

你可能在第二个viewController中声明了一个double类型的值,你可以通过这种方式在第一个viewController中传递值(如果你使用segue)

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