如何在NSMutableData
的开头插入一个字节?我知道有一个replaceBytesInRange:
方法,但只会替换字节。有一堆insertXAtIndex:
方法但没有一个用于字节。我怎样才能做到这一点?我能想到的一种方法是:
NSMutableData *theData = [NSMutableData dataWithBytes:myByte];
[theData appendData:myOriginalData];
myOriginalData = nil;
但必须有更好的方法。
我也尝试了这个,但它不起作用:
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!"
答案 0 :(得分:5)
[theData replaceBytesInRange:NSMakeRange(0, 0) withBytes:(const void *)fir length:strlen(fir)];
应该这样做。