在视图出现时通过通知调用另一个viewcontroller中的方法

时间:2014-02-15 10:54:33

标签: ios nsnotification

我有两个ViewControllers。我们称他们为aVC和bVC。

在aVC中,我显示了一个alertView。如果按下该alertView上的按钮,则会对bVC执行segue。

在bVC中,视图出现时会发生某些事情,但只有在aVC中从该按钮触发时才会发生。

我试过通知。

在aVC中按下alertView按钮时,会发布通知。在bVC的viewDidLoad中,我为该通知执行了addObserver,但这不起作用。

我猜是因为在通知发布后添加了观察者?这只是我的猜测。

我试了几个小时才能让它工作,但通知似乎没有完成这项工作。

那么如何调用bVC中的方法,当aVC中的alertview按钮触发视图时执行该方法?

2 个答案:

答案 0 :(得分:0)

您可以在bVC中拥有一个布尔属性,用于定义是否从aVC中的按钮加载了bVC。在prepareForSegue:sender:中,在执行segue之前将该属性设置为true(您可以使用sender确定调用是否来自您的按钮),在bVC中,在外观上检查所述属性。< / p>

有关如何设置此类属性的示例位于https://stackoverflow.com/a/9176361/886407

答案 1 :(得分:0)

你可以在bVC的viewDidLoad中调用你的方法。

“在aVC中按下alertView按钮时,会发布通知。在bVC的viewDidLoad中,我为该通知做了addObserver,但这不起作用“ 就像你猜的那样,观察者是在通知发布后添加的。