달력

10

« 2024/10 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2010. 5. 18. 19:38

[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 : 위치에 삽입

:
Posted by 에너지발전소