将应用程序委托消息发送到没有通知中心的当前视图

时间:2012-08-27 03:41:36

标签: iphone objective-c ios nsnotificationcenter appdelegate

我想显示应用程序委托消息,例如“应用程序变为活动状态”(调用-applicationDidBecomeActive:application时调用此消息)  在窗口。

一种方法是使用如下通知中心:

AppDelegate.m

NSNotification *n = [NSNotification notificationWithName:@"AppBecameActive" object:self];
[[NSNotificationCenter defaultCenter] postNotification:n];

ViewController.m

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(showMessageAppBecameActive) name:@"AppBecameActive" object:nil];

这种方式显示应用程序委托消息的方式?或者,是否有任何其他方式,如属性来查看当前视图控制器实例?

谢谢你的善意。

2 个答案:

答案 0 :(得分:0)

如果您可以访问 appDelegate 中的 ViewController 。 (我的意思是像@property或实例驻留在其中)你可以立即发送消息。如果您没有此类访问权限。写一个吨的键值观察者,让你的 viewController 接收更改。

答案 1 :(得分:-1)

在viewController中注册需要通知的代码。

[[NSNotificationCenter defaultCenter]addObserver:self
                                         selector:@selector(yourMethod)
                                             name:UIApplicationDidBecomeActiveNotification
                                           object:nil];

iOS框架会在您的应用激活时发布通知,如果您通过上述方式注册,则可以通过注册方式处理通知(在本例中为yourMethod)。