从app delegate类调用视图控制器的方法

时间:2015-02-12 16:43:55

标签: ios observers

当我的应用程序进入前台时,我需要从app delegate类调用我的视图控制器的一些方法。实现它的最佳方法是什么?

我尝试在“applicationWillEnterForeground”方法中创建一个“假”通知:

[NSNotificationCenter defaultCenter]postNotificationName:@"test" object:nil];

在视图控制器中添加观察者:

[self addObserver: self selector:@selector(testMethod) name:@"test" object:nil];

这样好吗?另一种方法:Calling UIViewController method from app delegate

哪种方法更好,为什么?

PS抱歉我的英文不好。

2 个答案:

答案 0 :(得分:0)

快速回答:

  1. 是的,这应该适用于您的“假”通知
  2. 但你为什么要这样做?你可以让你的viewController完成所有的事情而不会死AppDelegate - >只需调用您的方法,您希望在viewController的'viewDidLoad'方法中完成。 (我假设,你的viewController是你应用程序的入口点)

答案 1 :(得分:0)

通知将支持许多目的地,而答案here仅支持一个viewController被告知该做什么。

另一方面,通过引用直接调用更容易理解和调试。

我不明白为什么你把它称为假的"通知 - 这正是该通话的用途。