title: how to put NSString in NSLog with multiple arguments
body: <p>when i try to use NSLog like:</p>
  
  <pre><code>NSLog(@"one" @"two" @"three");
  </code></pre>
  
  <p>this works and prints onetwothree in console. but when i try to use like this</p>
  
  <pre><code>NSString *s = [NSString stringWithFormat:@"three"];  
  NSLog(@"one" @"two" s);
  </code></pre>
  
  <p>the above doesnt work and i get a compile time error that "Expected ')'". I am not sure what to do. </p>
  
  <p>any help?</p>
  
  <p>P.S. I am trying to use XcodeColors and I have to give arguments to NSLog like above. so don't answer that use it like below. I know this works. but I have to pass arguments to NSLog like above.</p>
  
  <pre><code>NSString *s = [NSString stringWithFormat:@"%@ %@ %@", @"one", @"two", @"three"];  
  NSLog(s, nil);
  </code></pre>
  
  <p><strong>Edit</strong>:</p>
  
  <p>I can use NSLog like this to get my desired result:</p>
  
  <pre><code>NSString *s = @"ss";
  NSLog(@"one" @"two" @"%@",s);
  </code></pre>
  
  <p>that leads to my another question. I want to make a macro for NSLog. the macro looks like:</p>
  
  <pre><code>LOG_X(val) NSLog(@"xx" @"yy" @"%@",val @"zz")
  </code></pre>
  
  <p>Now when the following works:</p>
  
  <pre><code>LOG_X(@"one")
  LOG_X(@"one" @"two" @"three")
  </code></pre>
  
  <p>but following does not work</p>
  
  <pre><code>NSString *s = @"one two three";
  LOG_X(s);
  </code></pre>
  
  <p>it gives me the same error "Expected ')'"</p>