title: Objective-C setter/getter naming conventions drive me mad?
body: <p>I have been trying to understand something for several hours and I would like to get your point of view.</p>
  
  <p>I have setter/getter on one of my class properties (I noticed that I MUST add "set" in front of the setter name else the compiler says that there is no setter):</p>
  
  <pre><code>@property (nonatomic, retain, readwrite, setter=setTopString:, getter=TopString) NSString* m_topString;
  </code></pre>
  
  <p>When I call the setter like this, the compiler is happy:</p>
  
  <pre><code>[secureKeyboardController setTopString:@"This action requires that your enter your authentication code."];
  </code></pre>
  
  <p>But when I try to use the "dot" convention, then I am rejected by the compiler:</p>
  
  <pre><code>                secureKeyboardController.topString = @"This action requires that your enter your authentication code.";
  </code></pre>
  
  <p>What is really weird is that the dot naming convention works fine with this property:</p>
  
  <pre><code>@property (nonatomic, readwrite, getter=PINMaxLength, setter=setPINMaxLength:) NSInteger m_PINMaxLength;
  </code></pre>
  
  <p>In this case i can do:</p>
  
  <pre><code>[secureKeyboardController setPINMaxLength:10];enter code here
  </code></pre>
  
  <p>or</p>
  
  <pre><code>secureKeyboardController.PINMaxLength = 10;
  </code></pre>
  
  <p>In both cases, the compiler is happy.</p>
  
  <p>I really would like to fall asleep tonigh less stupid than I currently feel now. Thus any explanation would be greatly appreciated.</p>
  
  <p>Regards,
  Apple92</p>