我有两个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 时,我确实为该通知添加了观察器,但这不起作用"就像你猜的那样,观察者是在通知发布后添加的。