title: Weak and strong property setter attributes in Objective-C
body: <p>What is the difference between weak and strong property setter attributes in Objective-C?</p>
  
  <pre><code>@property(retain, [weak/strong]) __attribute__((NSObject)) CFDictionaryRef myDictionary;
  </code></pre>
  
  <p>What is the impact and benefit?</p>
  
  <p>I heard that weak is not available on iOS 4 and we need to use assign.</p>
  
  <p>Is weak similar to assign?</p>