在NSMutableData中插入前面的字节

Mil*_*ilo 3 insert objective-c nsdata nsmutabledata

如何在我的开头插入一个字节NSMutableData?我知道有一个replaceBytesInRange:方法,但只会替换字节.有很多insertXAtIndex:方法,但没有一个是字节.我怎样才能做到这一点?我能想到这样做的一种方法是:

NSMutableData *theData = [NSMutableData dataWithBytes:myByte];
[theData appendData:myOriginalData];
myOriginalData = nil;
Run Code Online (Sandbox Code Playgroud)

但必须有更好的方法.

我也试过这个,但它不起作用:

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!"
Run Code Online (Sandbox Code Playgroud)

Ger*_*d K 5

[theData replaceBytesInRange:NSMakeRange(0, 0) withBytes:(const void *)fir length:strlen(fir)];
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.