title: Override setter method and get "Local declaration of xxx hides instance variable"
body: <p>I have a integer variable, for example, timeSignature, declared it in .h file, and synthesized a pair of setter/getter methods:</p>
  
  <p>in .h:</p>
  
  <pre><code>@interface Metronome : NSObject {
      int timeSignature;
  }
  @property (nonatomic) int timeSignature;
  </code></pre>
  
  <p>in .m:</p>
  
  <pre><code>@synthesize timeSignature;
  </code></pre>
  
  <p>I wish to override the setter method: when user set a new value to it, it does something else as well as changing to new value:</p>
  
  <pre><code>- (void) setTimeSignature:(int)timeSignature {
      self.timeSignature = timeSignature; //hides instance variable warning at this line
      [self doesSomethingElse];
  }
  </code></pre>
  
  <p>And heres the problem, the local variable and the instance variable have the same name.</p>
  
  <p>How can I avoid this?</p>