ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NSMutableData Tips
    iOS/Mac 2011. 2. 17. 21:01

    NSMutableData는 byte배열을 wrapping해 놓은 객체.

    특정 영역을 제거하는 방법

    replaceBytesInRange 이용
    ex)   “1234567890 abcdef” 가 있는 배열에서 5번째부터 3개(678)를 제거.

    
    NSString *myString = @"1234567890 abcdef";
    const char *utfString = [myString UTF8String];
    NSMutableData *data = [NSMutableData dataWithBytes:utfString length:strlen(utfString)];
    NSRange r = NSMakeRange(5, 3);
    NSString *strBefore = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"[data length]=%d, string with data=%@", [data length], strBefore);
    
    [data replaceBytesInRange:r withBytes:"" length:0];
    
    NSString *strAfter = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"[data length]=%d, string with data=%@", [data length], strAfter);
    

    console output

    [data length]=17, string with data=1234567890 abcdef
    [data length]=14, string with data=1234590 abcdef
    반응형

    댓글

Designed by Tistory.