티스토리 뷰

나름 프로그래밍?/ Objective-C

NSDate 와 NSData

알 수 없는 사용자 2010. 2. 10. 13:47
NSDate 와 NSData 는 이름이 같아서 같이 올리는게 아니다.^^;;

코코아(?)에는 plist라 불리는 클래스 객체들이 있는데 이를 프로퍼티 리스트 (property list) 라 부른다.

프로퍼티 리스트 클래스에는 NSArray, NSDictionary, NSString, NSNumber, NSDate, NSDate 가 있다.

먼저 NSDate 는 날짜 및 시간 처리를 위한 핵심적인 클래스이다.

Ex)
NSDate *date = [NSDate date];
NSLog (@"today is %@", date);

이 코드는  "today is 2010-02-10 13:16:02 -0400" 을 출력한다.

Ex)
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *tomorrow = [[NSDate alloc]
            initWithTimeIntervalSinceNow:secondsPerDay];
NSDate *yesterday = [[NSDate alloc]
            initWithTimeIntervalSinceNow:-secondsPerDay];

이와 같이 작성하면 어제와 내일 날짜를 출력할 수도 있다.

이제 NSData~!!!

코코아는 바이트 덩어리를 래핑하는 NSData 클래스를 제공한다.
 
일반적인 C의 데이터 버퍼와 같은 기능을 한다고 할까?

NSData 의 인스턴스도 일단 작성된 데이터 내용을 변경할 수 없다.

변경하기 위해서는   NSMutableData 를 사용하면 된다.

Ex)
const char *string = "Good Morning~!";
NSData *data = [NSData dataWithBytes: string length: strlen(string)+1];
NSLog(@"data is %@",data);
NSLog(@"%d byte string is %s", [data length], [data bytes]);

이와 같이 하면 다음과 같이 출력한다.

data is <476f6f64 204d6f72 6e696e67 7e2100>
15 byte string is 'Good Morning~!'

data는 16진수 형태로 저장된다.

'나름 프로그래밍? > Objective-C' 카테고리의 다른 글

iPhone SDK 에서 계산기 만들기  (2) 2010.02.17
프로퍼트 리스트 기록, 읽기  (0) 2010.02.11
@property  (0) 2010.02.08
클래스 메소드  (0) 2010.02.05
지정된 이니셜라이저 (designated initializer)  (0) 2010.02.05
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함