【发布时间】:2014-04-19 22:06:00
【问题描述】:
我想使用我应用的 AppDelegate 发布 CRToast 通知
这是我添加观察者的方式。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(noConnectionNotification)
name:@"No_Connection_Available" object:nil];
}
这是它应该调用的方法
-(void)noConnectionNotification{
NSLog(@"received notification");
NSString *notificationString = @"Unable to reach server. Changes will be cached.";
NSDictionary *options = @{kCRToastTextKey : notificationString,
kCRToastNotificationTypeKey : @(CRToastTypeStatusBar),
kCRToastTextAlignmentKey : @(NSTextAlignmentCenter),
kCRToastBackgroundColorKey : [UIColor redColor],
kCRToastAnimationInDirectionKey : @(CRToastAnimationDirectionTop),
kCRToastAnimationOutDirectionKey : @(CRToastAnimationDirectionTop),
kCRToastTimeIntervalKey : @(2),
};
[CRToastManager showNotificationWithOptions:options
completionBlock:nil];
}
以及我如何发布来自不同班级的通知:
dispatch_async(dispatch_get_main_queue(), ^{
[[NSNotificationCenter defaultCenter] postNotificationName:@"No_Connection_Available" object:nil];
});
}
该方法没有被调用。如果我让我的各种视图控制器之一成为观察者,那么那个会收到通知,但 AppDelegate 不是。难道就不能让 AppDelegate 成为 NSNotification 观察者吗?
【问题讨论】:
标签: ios objective-c cocoa-touch nsnotificationcenter appdelegate