title: @property declaration without @synthesizing
body: <p>I am following Big Nerd Ranch iOS Programming by Joe Conway and am kinda puzzled when I saw the following code. </p>
  
  <p>WebViewController.h</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  @interface WebViewController : UIViewController
  @property (nonatomic, readonly) UIWebView *webView;
  @end
  </code></pre>
  
  <p>WebViewController.m</p>
  
  <pre><code>#import "WebViewController.h"
  
  @implementation WebViewController
  - (void)loadView 
  {
      // Create an instance of UIWebView as large as the screen
      // Tell web view to scale web content to fit within bounds of webview 
  }
  
  - (UIWebView *)webView
  {
      return (UIWebView *)[self view];
  }
  @end
  </code></pre>
  
  <p>Shouldn't one synthesize the property declared in .h file? Xcode didn't give an warning either (which it usually does when I declare a property with synthesizing). </p>
  
  <p>By the way, in the book, he also mentioned</p>
  
  <blockquote>
    <p>In WebViewController.h, add a property (but not an instance variable) </p>
  </blockquote>
  
  <p>Doesn't declaring a property automatically generate an instance variable for you? Let me know what I missed. Thanks.</p>