title: Different usage of Objective C Properties (with/without underbar etc)
body: <p>I prefer to use properties for classes in Objective-C like this (which seems standard in newer Xcode versions):</p>
  
  <pre><code>/* MyClass.h */
  @interface MyClass : NSObject;
  @property (nonatomic, strong) NSArray *myArray;
  @end;
  
  
  /* MyClass.m */
  #import MyClass.h
  
  @implementation
  @synthesize myArray = _myArray;
  
  - (void)anyMethod {
      self.myArray = // do something
  }
  
  @end
  </code></pre>
  
  <p>However in some github repositories on the web I found different ways of using properties, e.g.:</p>
  
  <pre><code>/* MyClass.h */
  @interface MyClass : NSObject {
      NSArray *myArray;
  }
  
  // sometimes the @property is used here too
  
  @end;
  
  
  /* MyClass.m */
  #import MyClass.h
  
  @implementation
  
  - (void)anyMethod {
      _myArray = // do something
  }
  
  @end
  </code></pre>
  
  <p>What exactly is the difference between those ways? I read it has to do something with access of instance variables. But why do some people declare the variables in @interface section and do not (or do sometimes) use @property?</p>