removeObserver не работает

У меня есть следующий код:

@implementation SplashViewVC

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.splashView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default.png"]];
    self.activityIndicator.originY = 355.f;
    [[NSNotificationCenter defaultCenter] addObserverForName:NCDownloadComplete object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *n){
        NSInteger errorCode = [n.userInfo[@"errorCode"] integerValue];        
        [self.activityIndicator stopAnimating];
        if (errorCode == ERROR_CODE_NO_CONNECTION) {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Some problem with server" delegate:self cancelButtonTitle:@"try again" otherButtonTitles:nil];
            [alertView show];
        } else if (errorCode == 0) {
            [self dismissViewControllerAnimated:YES completion:nil];
        }
    }];
    [self downloadData];
}

- (void)downloadData
{
    [self.activityIndicator startAnimating];
    [[Server sharedServer] getMovieData];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    [self downloadData];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super viewDidDisappear:animated];
}

@end

Поэтому я ставлю точки останова в началеviewDidLoad метод, вviewDidDisappear, Когда я запускаю приложение, которое сначала идет вviewDidload, после загрузки это перейти к.viewDidDisappear

Но во время моего приложения я снова загружаю данные и публикуюnotification: NSDownloadComplete, И в этом VC это работа, но я удалил позже, используя:

[[NSNotificationCenter defaultCenter] removeObserver:self]

Это ВК использоватьviewDidLoad однажды в начале & не могу снова добавитьObserver.

Что случилось?

РЕДАКТИРОВАТЬ Я пытаюсь поставить метод addObserverviewWillAppear или жеviewWillDisappear - Нет результатов. я добавитьNSLog(@"addObserver"); до

 [[NSNotificationCenter defaultCenter] addObserverForName...

в viewDidLoad

и писать

- (void)viewDidDisappear:(BOOL)animated
{
    NSLog(@"removeObserver");
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super viewDidDisappear:animated];
}

В журнале вижу:

2013-06-10 14:32:05.646 myApp[9390:c07] addObserver
2013-06-10 14:32:06.780 myApp[9390:c07] removeObserver

Что не так?

РЕДАКТИРОВАТЬ 2 вы можете видеть, что наблюдатель должен быть удален, но он снова запускает блок в методе addObserver

Ответы на вопрос(3)

Ваш ответ на вопрос