Я думаю, что должно быть здесь:Где лучшее место, чтобы удалить наблюдателя от Notification Center
-(void) viewWillDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc removeObserver:self];
}
или, возможно, в -dealloc
.
Оба звучат странно для меня, поэтому я не совсем уверен в этом.
Во-первых, в моем AppDelegate I'm прослушивания удаленного оповещения Via Parse
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
[PFPush handlePush:userInfo];
NSString * urlToGo = [userInfo objectForKey:@"url"];
NSLog (@"Recibo notificación con paremetro url: %@", urlToGo);
NSNotification *note = [NSNotification
notificationWithName:PUSH_NOTIFICATION
object:self
userInfo:userInfo];
[[NSNotificationCenter defaultCenter] postNotification:note];
}
и myViewController - (Недействительными) viewDidLoad { [супер viewDidLoad];
_lastMenuSelected=menu1;
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
[center addObserverForName:PUSH_NOTIFICATION
object:nil
queue:mainQueue
usingBlock:^(NSNotification *note) {
// Save in property to load parameter in prepareForSegure
_urlToLoadFromPush = urlToGoReceivedFromPush;
[self showPush:self];
}];
}
- (void)showPush:(id)sender {
PushViewController * pushViewController=(PushViewController*)[self.storyboard instantiateViewControllerWithIdentifier:@"PushId"];
pushViewController.url = _urlToLoadFromPush;
UINavigationController* nVC=[[UINavigationController alloc] initWithRootViewController:pushViewController];
[self presentViewController:nVC animated:YES completion:^{
//[_delegate logout];
}];
}
Где вы добавляли наблюдателя? Удалите его с противоположного метода. – rmaddy
rmaddy прав, но на всякий случай вы не вводили этот код в качестве примера, который вы вызываете. Super viewDidDisappear from viewWillDisappear – wattson12
Почему существует код для делегата приложения и контроллера представления в том же файле? Или опубликованный код формирует разные классы? Если да, сделайте это ясно. – rmaddy