Ios 传递变量';s值从一个ViewController传递到另一个ViewController,其中无法继续

Ios 传递变量';s值从一个ViewController传递到另一个ViewController,其中无法继续,ios,uiviewcontroller,swift,Ios,Uiviewcontroller,Swift,我刚刚开始学习Swift,我正在努力解决一些问题,其中之一是: 我有以下应用程序:ViewController1->ViewController2->ViewController3 如何将值从ViewController1传递到ViewController3 我想在ViewController1对应的类中创建一个静态变量(请参见代码中的var CNP),并通过在ViewController3中创建该类的实例来访问它,但不幸的是,我无法做到这一点 这是我的ViewController1: clas

我刚刚开始学习Swift,我正在努力解决一些问题,其中之一是:

我有以下应用程序:ViewController1->ViewController2->ViewController3

如何将值从ViewController1传递到ViewController3

我想在ViewController1对应的类中创建一个静态变量(请参见代码中的var CNP),并通过在ViewController3中创建该类的实例来访问它,但不幸的是,我无法做到这一点

这是我的ViewController1:

class PageCNP: UIViewController {

@IBOutlet weak var labelCNP: UITextField!
@IBOutlet weak var labelDoB: UITextField!


internal var CNP: String = labelCNP.txt //why can't I do that?

override func viewDidLoad() {
     //some code here
}

override func didReceiveMemoryWarning() {
    //some code here
}


func extractYearOfBirth() -> NSString
{
    //some code here

}


@IBAction func verifyCNP(sender: AnyObject) {

  //some code here


}
在ViewController3中,我希望执行以下操作(如果正确):


为什么segue是不可能的,你不是在UI中使用情节提要吗?用户,你应该改为使用情节提要一些人可能不喜欢它,使用Singleton。1。OP不应该做任何事。如果他不想使用故事板,你不能强迫他这么做。有些API利用了单例,但这并不意味着OP应该“完全了解”它们,不用考虑就可以使用它们。
    @IBOutlet weak var cnpClient: UILabel!    

    override func viewDidLoad() {
    super.viewDidLoad()
    var x = PageCNP()
    cnpClient.text = x.CNP
}