title: instance variables in @interface; header vs implementation
body: <p>Is there any difference between declaring a private instance variable in the header vs declaring it in the implementation?</p>
  
  <p>in TestObj.h</p>
  
  <pre><code>@interface TestObj : NSObject
  {
      int test;
  }
  @end
  </code></pre>
  
  <p>vs in TestObj.m</p>
  
  <pre><code>@interface TestObj()
  {
      int test;
  }
  @end
  </code></pre>
  
  <p>Both seem equivalent to me, is there any actual difference between declaring an instance variable in the header vs in the implementation, if not which is preferred?  The <code>@interface</code> within the implementation file just seems like a way to declare private properties, does it have any other purpose outside that?</p>