我有一个主页按钮,按下后会触发此代码。 我需要在viewController中更改一个变量,我弹出之前我弹出它。有没有办法做到这一点?
func goHome(){
let switchViewController = self.navigationController?.viewControllers[1] as! UIViewController
self.navigationController?.popToViewController(switchViewController, animated: true)
}
我认为你会这样做但是自动完成窗口中没有viewController的变量。
switchViewController.x = 5
任何有关如何解决这个问题的信息和/或为什么它不能正常工作将不胜感激。
答案 0 :(得分:0)
您QSplitter
的{{1}}是哪种类型?
为了在UIViewController
中拥有自定义变量,您需要对其进行子类化,并在获取它时,您可以这样做:
switchViewController
以UIViewController
作为示例变量,func goHome(){
let switchViewController = self.navigationController?.viewControllers[1] as! YourViewController
self.navigationController?.popToViewController(switchViewController, animated: true)
}
没有此类型的变量,但您的子类(我希望您有一个)x
可能有,然后自动 - 完成将开始。
答案 1 :(得分:0)
您将switchViewController
设置为通用UIViewController
,其中没有变量.x
。
你应该把它设置为正确的类,在这种情况下,你可以命名具有'x'变量的类:
let switchViewController = self.navigationController?.viewControllers[1] as! SwitchViewController
switchViewController.x = 5
在这种情况下,我使用了类名SwitchViewController
,这意味着您需要一个.Swift类文件,如下所示:
import UIKit
class SwitchViewController: UIViewController {
var x: Int!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}