title: Compile NSLog with unsigned int and unsigned long on iOS and OSX without a warning
body: <p>On iOS <code>NSUInteger</code> is a <code>unsigned int</code>, on OSX it is a <code>unsigned long</code>. How can I make a print statement like</p>
  
  <pre><code> NSLog(@"Array has %d elements.",[array count]);
  </code></pre>
  
  <p>compile on both platforms without a warning? I can of course use an <code>#ifdef #else #endif</code> construct but that will add 4 lines of code. I could also cast the return value to unsigned int. Is there a shorter solution? </p>