PrepareForSegue Swift

PrepareForSegue Swift

我在 viewController 中设置了一个 NSUserDefault,这是 viewDidLoad

中的一部分
if  (txt1TotalDefault.valueForKey("TextField1Total") != nil){
            TextField1Total = txt1TotalDefault.valueForKey("TextField1Total") as! Double
            let T1Total = NSString(format: "TextField1Total: %i", TextField1Total)
    }

然后我在所有代码的底部有一个segue

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var DestViewController : SecondViewController = segue.destinationViewController as! SecondViewController

        DestViewController.TotalMoneyLabel.text = T1Total}

但它不会工作,因为它不识别 T1Total,我如何让它识别它或从 if 语句中取出它以便它可以正确读取值

T1Total 应该是 class 变量。在你的情况下,它的方法变量,因为这个 T1TotalprepareForSegue 方法中不可访问。

伪代码

Class yourclass
{
    var T1Total = ""
    override func viewDidLoad()
    {
        if  (txt1TotalDefault.valueForKey("TextField1Total") != nil){
            TextField1Total = txt1TotalDefault.valueForKey("TextField1Total") as! Double
            T1Total = NSString(format: "TextField1Total: %i", TextField1Total)
        }
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var DestViewController : SecondViewController = segue.destinationViewController as! SecondViewController

        DestViewController.TotalMoneyLabel.text = T1Total
    }
}

使用此代码可以在 prepareForSegue

中访问 T1Total