title: Why are these "member" variables behaving like statics?
body: <p>I have the implementation of <code>MyUnitClass</code> declared like so:</p>
  
  <pre><code>@implementation MyUnitClass
  Unit* _unit = NULL;
  </code></pre>
  
  <p>In a for loop I am iterating a number of times and creating multiple instances of MyUnitClass.
  <code>Unit</code> is behaving like a static variable. I have a breakpoint set inside the init method of <code>MyUnitClass</code> and this is what I get each time the class is initalized:</p>
  
  <pre><code>(gdb) print _unit
  $4 = (Unit *) 0x112340
  (gdb) print _unit
  $5 = (Unit *) 0x112340
  </code></pre>
  
  <p><strong>NOTE:</strong></p>
  
  <p>I have already solved the issue by moving the variables into the <code>@interface</code> declaration.  If you answer the question, it would be great to see a link to a page where this info can be found. </p>