title: NSInvocation setSelector is throwing an exception
body: <p>I have the following code which I'm testing:</p>
  
  <pre><code>NSString * parameterSignature = @"@:";
  NSMethodSignature * signature = [NSMethodSignature signatureWithObjCTypes:[parameterSignature UTF8String]]; 
  NSInvocation * invocation = [NSInvocation invocationWithMethodSignature:signature];
  [invocation setSelector:@selector(aMethodWithNoParms)];
  </code></pre>
  
  <p>When the setSelector executes I get this error:</p>
  
  <pre><code>Name: NSInvalidArgumentException
  File: Unknown
  Line: Unknown
  Reason: -[NSInvocation setArgument:atIndex:]: index (1) out of bounds [-1, 0]
  </code></pre>
  
  <p>I've been trolling the net looking for the reason why and not found it. It looks like it's trying to set the second parameter of the invocation which would be the selector, but the array is not long enough. I would have thought that the creation of the invocation would have setup the array.</p>
  
  <p>I'm not sure how to fix this, anyone see what I've done wrong?</p>