4840 바이트 인 NSData
개체에서 작업 중이며 처음 20 바이트를 생략하고 나머지를 반입하려고합니다. 하위 문자열 방법은 NSData
에 적용 할 수 있습니까? substringFromIndex:
/substringToIndex:
?substringFromIndex : NSData를 사용하여
2
A
답변
5
, NSData
는 방법 subdataWithRange:
있습니다. 범위를 만들려면 NSMakeRange
을 입력 한 다음 해당 범위를 사용하여 원하는대로 자른 NSData
을 만듭니다.
예 :
// Create NSData
NSString* myString = @"Lorem ipsum dolor sit amet, consectetur cras amet.";
NSData* myData = [myString dataUsingEncoding:NSUTF8StringEncoding];
if (myData != nil && myData.length > 20) {
// Create trimmed NSData
NSData* newData = [myData subdataWithRange:NSMakeRange(20, myData.length - 20)];
if (newData != nil) {
// Test
NSString* newString = [[NSString alloc] initWithData: newData
encoding: NSUTF8StringEncoding];
NSLog(@"%@", newString);
// -> "t amet, consectetur cras amet."
}
}
3
NSData
에 대한 설명서를 읽고, 거기에 바이트 범위를 지정할 수있는 방법이 있습니다 : -getBytes:range:
. 범위를 설정하려면 NSMakeRange()
을 사용하십시오. 당신은 가까운
2
- (NSData *)subdataWithRange:(NSRange)range;
+1
위임 방법이 아니다. –
완전한 예제를 찾고 있지만 유용하다. – circuitry
NSData * d1 = [myData subdataWithRange : NSMakeRange (0, 20)]; – circuitry
@circuitry'subdataWithRange :'가 어떻게 사용될 수 있는지를 보여주는 완전한 예제를 추가했다. – ColGraff