2010-01-20 4 views
0

내 iPhone 응용 프로그램은 핵심 데이터 기능을 사용하여 데이터를 지속적으로 저장해야합니다.핵심 데이터 : 어떻게 CGImageRef 또는 사용자 정의 데이터 유형을 저장합니까?

NSManagedObject *entity = [NSEntityDescription insertNewObjectForEntityForName:@"anEntity" inManagedObjectContext:self.managedObjectContext]; 

// ... 
CGContextRef context; 
// ... 
[entity setContext:context]; 
NSError *error; 
[self.managedObjectContext save:&error]; 
// ... 

내 데이터 모델이 "변환 가능한"로 상황의 유형을 정의 : 여기

는 코드입니다. 이게 옳은 거니? 빌드시에 나는 다음과 같은 경고를 얻을 :

경고 :의 인수 하나를 전달하는 'setContext :'호환되지 않는 포인터 유형에서

당신은 CGContextRef 또는 일반 사용자 정의 데이터 형식으로 저장할 수있는 방법 핵심 데이터? 인코더/디코더를 구현해야합니까?

는 노르 베르트 감사

답변

2
당신은 먼저있는 NSData (또는 CFData) 인스턴스에 이미지를 직렬화해야합니다

. CGImageDestinationCreateWithData를 참고하십시오.

+2

'UIImageJPEGRepresentation'과 UIImagePNGRepresentation'의 편리한 메소드도 있습니다. –

0

this answer에서 UIImages를 코어 데이터의 변형 가능한 속성에 저장할 수있는 NSValueTransformer 코드를 제공합니다. 당신은 귀하의 상황에서 그려진 이미지에 대해 비슷한 것을 할 수 있습니다. 벡터 요소를 보존해야하는 경우 PDF 컨텍스트에 그려서 해당 표현의 데이터를 저장할 수 있습니다.

관련 문제