title: strong / weak / retain / unsafe_unretained / assign
body: <p><strong>properties for synthesizing the property :</strong>
  retain / assign</p>
  
  <ul>
  <li>retain - it is retained, old value is released and it is assigned</li>
  <li>assign - it is only assigned</li>
  </ul>
  
  <p><strong>properties for ownership :</strong>
  IOS5 = strong / weak
  IOS4 = retain / unsafe_unretained</p>
  
  <ul>
  <li><p>strong (iOS4 = retain) - i'am the owner, you cannot dealloc this
  before aim fine with that = retain</p></li>
  <li><p>weak (iOS4 = unsafe_unretained) - the same thing as assign, no retain
  or release</p></li>
  </ul>
  
  <p><strong>so unsafe_unretained == assign?</strong></p>
  
  <pre><code>@property (nonatomic, assign) NSArray * tmp;
  </code></pre>
  
  <p><strong>is equal to ?</strong></p>
  
  <pre><code>@property (nonatomic, unsafe_unretained) NSArray * tmp;
  </code></pre>
  
  <p><strong>and vice versa ?</strong></p>
  
  <p><strong>if so, which one to prefer when in iOS4, or why there is (unsafe_unretained) if its exactly same as assign?</strong></p>
  
  <p>and a delegate in iOS4 should be unsafe_unretained or assign?</p>