[9일차-1]8일차 이어서.. NSData 클래스 Objective-C2010. 5. 18. 19:38
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;
}
---------------------------------------------------------------
7. NSMutableData 클래스
- 변경가능한 Data 클래스
- 삽입, 삭제(remove로 시작), 갱신에 관련된 메서드가 존재
인덱스 위치에 있는 인스턴스를 삭제하고 새로운 인스턴스를 삽입 - NSData 로부터 상속됨
add : 뒤에 삽입
insert : 위치에 삽입