title: Insert bytes at front in NSMutableData
body: <p>How can I insert a byte at the beginning of my <code>NSMutableData</code>? I understand that there is a <code>replaceBytesInRange:</code> method but that will just replace the bytes. There is a bunch of <code>insertXAtIndex:</code> methods but none are for bytes. How can I do this? One way I can think of doing this is:</p>
  
  <pre><code>NSMutableData *theData = [NSMutableData dataWithBytes:myByte];
  [theData appendData:myOriginalData];
  myOriginalData = nil;
  </code></pre>
  
  <p>But there must be a better way.</p>
  
  <p>I also tried this but it didn't work:</p>
  
  <pre><code>char *sec = "Second!";
  char *fir = "First!";
  
  NSMutableData *theData = [NSMutableData dataWithBytes:(const void *)sec length:7];
  [theData replaceBytesInRange:NSMakeRange(0, 0) withBytes:(const void *)fir];
  
  NSString *str1 = [[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding];
  NSLog(@"%@", str1); //Prints "Second!"
  </code></pre>