title: Setting a default value other than 0 for a property
body: <p>I have an <code>int</code> property     </p>
  
  <pre><code>@property(nonatomic) int stackTop;
  </code></pre>
  
  <p>and when it gets synthesized, it has a default value of 0. I want to set this default value to -1.</p>
  
  <p>I tried overriding the setter method like this</p>
  
  <pre><code>@sythesize stackTop = _stackTop;
  
  -(void)setStackTop:(int)stackTop
  {
      _stackTop = -1;
  }
  </code></pre>
  
  <p>and then the initial value is -1 instead of 0, but it's not changing when the variable <code>stackTop</code> changes in the program. For example, I have <code>self.stackTop++;</code>, but it's not getting incremented. With the non-overriden setter method, that statement does change the value. What am I doing wrong? What's the solution?</p>