Home » make structure into NSData

make structure into NSData

Objective-C :: 임의의 데이터 타입을 NSData로 인코딩하기

NSValue NSData 변환

NSValueNSData로 변환하는 방법에 대해 생각해보자. 코어데이터 등에서 표준으로 지원하는 타입이 아닌 경우, NSData를 이용해서 이진데이터로 저장하는 방법이 있는데, 예를 들어서 NSRange(이건 C구조체이다.)를 이진데이터로 바꾸는 것은 다음과 같이 하면 된다.

NSRange r = NSMakeRange(0, 10);
NSValue* v = [NSValue valueWithRange:r];
NSData* d1 = [NSKeyedArchiver archivedDataWithRootObject:v];

구조체나 스칼라값 타입은 NSValue로 감싼 다음 이진데이터로 직렬화할 수 있다. NSValue 역시 NSCoding 프로토콜을 따르므로 위와 같이 처리하면 되는데….더 보기 »Objective-C :: 임의의 데이터 타입을 NSData로 인코딩하기