在我当前的项目中,我尝试在两个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
}
}
答案 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
}
}
}