如何基于segue执行操作

时间:2016-06-30 16:38:59

标签: ios xcode swift segue

这是我正在尝试做的事情:

我有2个视图,设置和主屏幕。

当按下“设置”中的按钮时,我编码了一个segue,将视图带到主屏幕。标识符是“重置”。

如果触发了这个segue,我试图让主屏幕执行一系列操作,但我找不到执行此操作的功能或方法。

有关如何实现此问题的任何帮助?我希望它能在segue发生时触发。

2 个答案:

答案 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,则调用你的逻辑。

如果您希望在目标视图控制器加载或显示时发生,请在其viewDidLoadviewDidAppear方法内执行此操作。在您的情况下,这些方法将存在于“主屏幕”视图控制器类中。