# NSData 클래스
파일처리 등에 이용하는 바이트 배열 클래스 (1byte 기준)
메서드
-(id)dataWithBytes : (const void *)bytes length:(NSVinteger)length
생성자 배열 주소 개수
-(id)initWithBytes : (const void *)bytes length:(NSUinteger)length
초기화 어떤 타입의 포인터도 상관없음, integer를 넣으면 깨질 수 있음.
-(id)dataWithData:(NSData*)aData
생성자
-(id)initWithData:(NSData*)aData
-(NSUinteger)length //
-(void)getBytes:(const void*)bytes
bytes에게 주소를 리턴
-(NSString *)description
ex) NSString 과 NSData 와 char * 사이의 변환
#import <foundation/foundation.h> /* 안써도 됨 #import <foundation/NSString.h> #import <foundation/NSData.h> */ int main(int argc, char * argv[]) { unsigned char buf[20]; // 저장하기 위해 생성 NSString * message = @"Test Conversion"; const char * str = [message UTF8String]; // 일반 char type 으로 변환 // 생성자이므로 메모리할당이 필요없음 NSData * myData = [NSData dataWithBytes:str length:strlen(str)]; // NSString => NSData // 문자의 개수 리턴 [myData getBytes:buf]; // char 배열로 변경 int i; for (i=0; i<[myData length];i++) { NSLog(@"%c",buf[i]); } system("pause"); return 0; }
# NSMutableData 클래스
변경가능한 Data 클래스
삽입, 삭제(remove로 시작), 갱신에 관련된 메서드가 존재
인덱스 위치에 있는 인스턴스를 삭제하고 새로운 인스턴스를 삽입
NSData 로부터 상속됨
add : 뒤에 삽입
insert : 위치에 삽입