在Objective-C

时间:2016-03-07 07:31:10

标签: ios objective-c nsnotificationcenter

我不想在viewDidAppear中添加观察者并在viewDidDisappear中删除。不会为我的情况提供服务。

我试过在dealloc中做过。

我的根VC在navController中。然后在navController中推送第二个VC,其中我addObserver用于从rootVC发送通知。问题是当我弹出secondVC时,它的dealloc没有被立即调用或者可能没有被调用产品总数。

- (void)viewDidLoad {
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMessagesNotification:) name:_newMessageNotificationListenerName object:nil];
}

- (void)newMessagesNotification:(NSNotification *)notification {
//some implementation
}

1 个答案:

答案 0 :(得分:0)

如果您不想在ViewDidDisapear中删除,我认为您应该在调用navigationCotnroller pop方法后立即将其删除。但我认为我们无法告诉您应该删除的确切时刻,因为我们不知道您何时要删除它以及为什么它在ViewWillDisapier或ViewDidDisapier中不合适。