title: Avoid Retain Cycles, NSNotificationCenter?
body: <p>Will this category method allow me to avoid additional retains on <code>NSNotificationCenter</code> observers? </p>
  
  <pre><code>#import "NSNotificationCenter+Util.h"
  
  @implementation NSNotificationCenter (Util)
  
  - (void)addWeakObserver:(nonnull NSObject*)observer selector:(nonnull SEL)aSelector name:(nullable NSString *)aName object:(nullable id)anObject {
      __weak NSObject *weakObserver = observer;
      [self addObserver:weakObserver selector:aSelector name:aName object:anObject];
  }
  
  @end
  </code></pre>
  
  <p>The goal is to have the object die without having to remove it.</p>
  
  <hr>
  
  <p><strong>Note:</strong> I'm trying to avoid this causing retain cycles:  </p>
  
  <blockquote>
    <p>Be sure to invoke <code>removeObserver:name:object:</code> before
    <code>notificationObserver</code> or any object specified in
    <code>addObserver:selector:name:object:</code> is deallocated.</p>
  </blockquote>