在视图出现时通过通知调用其他视图控制器中的方法



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

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

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

我尝试了通知。

在VC中按下警报视图按钮时,将发布通知。 在bVC的viewDidLoad中,我确实为该通知添加了观察器,但这不起作用。

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

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

那么,如何在 bVC 中调用当视图出现时由 aVC 中警报视图的按钮触发时执行的方法?

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

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

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

"在VC中按下警报视图的按钮时,将发布通知。在查看 bVC 的 DidLoad 时,我确实为该通知添加了观察器,但这不起作用"就像你猜的那样,观察者是在通知发布后添加的。

最新更新