title: Why doesn't Remove Observer from NSNotificationCenter:addObserverForName:usingBlock get called
body: <p>I'm confused on why the observer is never removed in the following code.  In my viewDidAppear I have the following:</p>
  
  <pre><code>-(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];
  
          }];
  
  }
  </code></pre>
  
  <p>The observer never gets removed and the statement is output every time the notification is sent out.  Can anyone provide any guidance?</p>