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 :'를 사용했지만 길이가 0 인 범위를 지정하려고하지 않았습니까? – rmaddy
@rmaddy 나는 그것을 시도했지만 역시 작동하지 않았다. 내 편집 내용을보고 내가 의미 한 바를 알고 있는지 확인하십시오. – Milo
나는 그것이 작동하지 않을 것 같아요. 'withBytes :'매개 변수에서 가져올 바이트 수를 알기 위해서는 범위 길이를 조사해야합니다. – rmaddy