У меня есть приложение с вкладками и, скажем, я хочу переключиться на вторую вкладку и всплыть в 12:00, даже если мое приложение не запущено.
Я получил весь код для UILocalNotificationработает правильно, но тогда я подумал, что лучший способ сделать это - опубликовать уведомление от делегата приложения:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Add the tab bar controller's view to the window and display.
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
// Handle launching from a notification when the app is NOT running
UILocalNotification *localNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotification) {
[tabBarController setSelectedIndex:1];
[[NSNotificationCenter defaultCenter] postNotificationName:@"AlertNotification" object:self];
}
return YES;
}
Затем, в моем SecondViewController.m, у меня будет:
- (void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(popUpAlert:) name:@"AlertNotification" object:nil];
}
Но это не работает.Я подозреваю, что уведомление отправляется, пока viewDidLoad SecondViewController еще не был вызван, верно?Возможно ли это решить?И согласны ли вы с моим подходом использования NSNotificationCenter
в этом случае?
Заранее спасибо.