title: Objective-C method signatures. Are they inconsistent?
body: <p>I'm new to Objective-C, but please help me out here.</p>
  
  <p>What I'm seeing is that method signatures in Objective-C that take multiple parameters seem inconsistent.</p>
  
  <p>Example:</p>
  
  <pre><code>- (void) sendEmail: (NSString *) toStr
           subject:(NSString *) subjectStr
           body:(NSString *) bodyStr;
  </code></pre>
  
  <p>OK, so here we have 3 "parameters" (at least that's what I'm used to calling them), but 2 of them have "external" names (subject, body) but the first one doesn't! Isn't there something wrong with that from a consistency/style point of view?</p>
  
  <p>When we call this method we do it like:</p>
  
  <pre><code>[emailObj sendEmail:@"test@test.com" subject:@"testSub" body:@"this is a test"]
  </code></pre>
  
  <p>(Hopefully I did that right, remember I'm new to this.)</p>
  
  <p>So the subject and the body are clearly marked in the call, but not the "to" address? It seems really wacked to me. Why is that first parameter getting special treatment?</p>