title: Will Objective-C runtime release retained associative references for user?
body: <p>When some codes like this:</p>
  
  <pre><code>objc_setAssociatedObject (
    obj,
    &amp;key,
    val,
    OBJC_ASSOCIATION_RETAIN
  );
  </code></pre>
  
  <p>Do I need to call related</p>
  
  <pre><code>objc_setAssociatedObject (
    obj,
    &amp;key,
    nil,
    OBJC_ASSOCIATION_RETAIN
  );
  </code></pre>
  
  <p>to release the retained value? Does Objective-C runtime auto release the associative references in <code>dealloc</code> or somewhere?</p>