title: In Objective-C, when should I use property and when should I use instance variable?
body: <p>I'm not familiar with the program language which has both property and instance variable.<br>
  So I don't know good ways to use property and instance variable.</p>
  
  <p>Now I use only properties in my Objective-C code and I don't use any instance variables.</p>
  
  <p>Do I need to use instance variable?<br>
  Or using only property is the best practice for Objective-C?</p>
  
  <pre><code>@interface ViewController : UIViewController
  {
      // instance variable
      @public
      int a;
  }
  
  // property
  @property(nonatomic, strong) NSString *b;
  
  @end
  </code></pre>