title: NSNotificationCenter addObserver being ignored
body: <p>Two objects were working just fine receiving <code>NSNotifications</code> before with XCode 5.1 (and CorePlot 1.4).  However, with XCode 5.1.1 (Coreplot 1.5) I found that if the <code>addObserver</code> call is inside the <code>init</code> method, it won't actually be registered (just for those two classes, it works in the parent object of a different class).  I even put a <code>NSLog</code> before and after the call to make sure the code was still working.  The objects are both strongly referenced by their shared parent, and their parent receives the necessary notifications without issue.  And, I have a <code>NSLog</code> in the <code>dealloc</code> where the <code>removeObserver</code> is -it is not called early, as the objects are retained properly.</p>
  
  <pre><code>//The object is a CorePlot CPTGraphHostingView
  - (id)initWithFrame:(CGRect)frame {
      self = [super initWithFrame:frame];
      if (self) {
          //other code setting up a few private ivar primitive arrays and values
  
          //this is where the call was (there are actually 3 Observer calls made)
          [[NSNotificationCenter defaultCenter]
          addObserver: self
          selector: @selector(recordUpdated)
          name: @"recordUpdated"
          object: nil];
  
          //then this is called before the end
          [self prepareGraph];
  
          //this is where I moved it
          [self startListening];
      }
      return self;
  }
  </code></pre>
  
  <p>Again, nothing has changed about the code for the object sending the notification or those two classes since I last compiled it with XCode 5.1 (and CorePlot 1.4).  And this same call is used in the <code>init</code> of the parent, and works perfectly.  My only solution last night was to refactor out the <code>addObserver</code> calls into a new method, and call that method at the end of <code>init</code>.</p>
  
  <p>However, I don't understand why this was necessary.  Can anyone think of a reason that <code>addObserver</code> placed in the middle of <code>init</code> would be "ignored", but when inside another method called by <code>init</code>, it works?</p>
  
  <p><strong>Edit, and notes:</strong></p>
  
  <p>I added more code to show the init.  I also added notes that it is a graph view for CorePlot, and the CorePlot was also recently updated to 1.5 (I forgot about that) -which could be the source of the problem.</p>
  
  <p>lead_the_zeppelin's suggestion that it is being reassigned, seems possible.  But wouldn't the call from NSNotificationCenter to a -now- dealloc'd object crash the program (note, dealloc is NOT called - I have a <code>NSLog</code> there)?  I could easily test this by printing the object instance string inside the <code>init</code>, and afterwards.  I did test this last night, asking for the instance, but I don't think I copied that bit into the <code>init</code>.</p>