我试图使用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/