如何在我的NSMutableData
的開頭插入一個字節?我知道有一個replaceBytesInRange:
方法,但它只是替換字節。有一堆insertXAtIndex:
方法,但沒有一個是字節。我怎樣才能做到這一點?我能想到的一種方法是:在NSMutableData前面插入字節
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!"
我還沒有嘗試過,但如何使用'replaceBytesInRange:withBytes:'但指定一個零長度範圍? – rmaddy
@rmaddy我試過,但它也沒有工作。看我的編輯,以確保我知道你的意思。 – Milo
我想這是行不通的。它必須查看範圍長度以知道從'withBytes:'參數獲得多少個字節。 – rmaddy