title: @property and @synthesize in objective-c
body: <p>While I was playing and figure out how things work in <a href="https://github.com/enormego/EGOTableViewPullRefresh" rel="noreferrer">https://github.com/enormego/EGOTableViewPullRefresh</a> I found mysterious of @property and @synthesize. Here is the code I mentioned</p>
  
  <h2>EGORefreshTableHeaderView.h</h2>
  
  <pre><code>@interface EGORefreshTableHeaderView : UIView {
      id _delegate;
      EGOPullRefreshState _state;
  
      UILabel *_lastUpdatedLabel;
      UILabel *_statusLabel;
      CALayer *_arrowImage;
      UIActivityIndicatorView *_activityView;
  }
  
  @property(nonatomic,assign) id &lt;EGORefreshTableHeaderDelegate&gt; delegate;
  </code></pre>
  
  <h2>EGORefreshTableHeaderView.m</h2>
  
  <pre><code>@synthesize delegate=_delegate;
  </code></pre>
  
  <p>I have read this <a href="http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html" rel="noreferrer">http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html</a> and from what I understand is it create new name for _delegate which is delegate. (Am I right with this understanding ?)</p>
  
  <p>But I still doesn't understand why they have to make thing complicated with those @synthesize = directive.</p>