Почему не удаляется Observer из NSNotificationCenter: addObserverForName: usingBlock вызывается

Я запутался, почему наблюдатель никогда не удаляется в следующем коде. В моем viewDidAppear у меня есть следующее:

-(void)viewDidAppear:(BOOL)animated{

id gpsObserver = [[NSNotificationCenter defaultCenter] 
                          addObserverForName:FI_NOTES[kNotificationsGPSUpdated] 
                          object:nil 
                          queue:[NSOperationQueue mainQueue] 
                          usingBlock:^(NSNotification *note){

                              NSLog(@"run once, and only once!");

                [[NSNotificationCenter defaultCenter] removeObserver:gpsObserver];

        }];

}

Наблюдатель никогда не удаляется, и оператор выводится каждый раз, когда отправляется уведомление. Кто-нибудь может дать какое-нибудь руководство?

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

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