我试图使用NSNotificationCenter从AppDelegate调用uiview中的方法,但无济于事。

AppDelegate.m

    [[NSNotificationCenter defaultCenter] postNotificationName:@"ProcessDidComplete" object:items];

然后通过MainStoryboard加载主 View ,该 View 的 Controller 类为MainViewController

在MainViewController.h viewDidLoad我有
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ProcessDidComplete:) name:@"ProcessDidComplete" object:nil];

然后是方法
- (void) ProcessDidComplete:(NSNotification *)pNotification

但它永远不会被调用。

谢谢你的帮助!

最佳答案

只是改变一种方式..

首先添加观察者

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ProcessDidComplete:) name:@"ProcessDidComplete" object:nil];

然后发布通知
 [[NSNotificationCenter defaultCenter] postNotificationName:@"ProcessDidComplete" object:items];

最后在viewWillDisappear中删除
 [[NSNotificationCenter defaultCenter] removeObserver:self name:@"ProcessDidComplete" object:nil];

关于iphone - postNotificationName不调用观察者方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9682518/

10-12 05:36