知道最近执行/弹出的segue?

时间:2015-12-01 06:14:28

标签: ios objective-c segue uistoryboardsegue

我能够知道刚刚执行/弹出了哪个segue?

例如,我有2个控制器:

  
      
  • 查看控制器A:有一个导航到视图B的按钮。
  •   
  • 查看控制器B:有后退按钮查看A.
  •   

我希望在View A中可以检测到View B刚刚从堆栈中弹出,所以我可以在$ docker run -it --rm toopher/centos-i386:centos6 sh sh-4.1# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.uname() ('Linux', 'dc8d1dc46702', '3.16.0-4-amd64', '#1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09)', 'i686') 中执行某些操作。

我可以这样做吗?

1 个答案:

答案 0 :(得分:0)

您可以命名segue,然后实现prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)方法,在此处检查segue的标识符。如果它是从ControllerA到ControllerB的segue,只需设置一些您将在viewWillAppear方法中检查的标记。

这样的事情:

var pushedB = false

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "mySegueName" {
        pushedB = true
    }
}

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    if pushedB {
        pushedB = false
        // TODO your action
    }
}