这是我正在尝试做的事情:
我有2个视图,设置和主屏幕。
当按下“设置”中的按钮时,我编码了一个segue,将视图带到主屏幕。标识符是“重置”。
如果触发了这个segue,我试图让主屏幕执行一系列操作,但我找不到执行此操作的功能或方法。
有关如何实现此问题的任何帮助?我希望它能在segue发生时触发。
答案 0 :(得分:2)
您可以在设置页面的prepareForSegue
功能中将参数传递到主屏幕。然后在主屏幕中,您可以检查viewWillAppear
功能,以便在您认为合适时处理它们。
示例:
在设置中:
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "reset") {
// pass data to next view
let viewController:ViewController = segue!.destinationViewController as MainViewController
viewController.settings = settings // where settings is what you want to pass
}
}
在主屏幕中:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if self.settings { // Do something }
}
答案 1 :(得分:0)
如果您想要在触发的视图控制器被触发时发生某些事情,您可以在几个地方进行。
如果您希望事件在segue被触发时发生,请在prepareForSegue
内执行您的代码。在那里你可以检查UIStoryboardSegue
对象的标识符字段是否为“reset”,如果为true,则调用你的逻辑。
如果您希望在目标视图控制器加载或显示时发生,请在其viewDidLoad
或viewDidAppear
方法内执行此操作。在您的情况下,这些方法将存在于“主屏幕”视图控制器类中。