2011-04-21 7 views
0

코어 데이터에 CGColor를 저장/저장하고 싶습니다.코어 데이터에 CGColor를 저장하는 방법은 무엇입니까?

현재, 나는 등, 빨강, 파랑, 녹색을위한 수레와 색상을 저장하고있어

들은 아바타의 배경에 대한 매우 간단한 그라데이션 이미지에 사용되는 나는이 topColor 및 bottomColor를 저장하는 데 필요 해요

.

현재 버전은 매우 번거롭기 때문에 RGB 값을 수레로 저장해야합니다. RGB 값을 수동으로 전달해야하므로 번거로울 수 있습니다. 실제 CGColor를 전달한 다음 RGB 값을 깨거나 잡는 것보다는 말입니다.

어쨌든, 제 질문은 핵심 데이터에 cgcolor를 저장하는 방법이며 핵심 데이터에 cgcolor 값을 저장하는 가장 좋은 방법에 대한 지원, 도움 또는 안내를 환영합니다.

감사합니다.

// My current version follows... 
-(void)createColorScheme:(NSManagedObjectContext *)context withName:(NSString *)tColorName 
     withTopColorRed:(float)tColorRed 
     withTopColorBlue:(float)tColorBlue 
     withTopColorGreen:(float)tColorGreen 
     withBottomColorRed:(float)bColorRed 
    withBottomColorGreen:(float)bColorGreen 
    withBottomColorBlue:(float)bColorBlue 
{ 
    NSError *error; 

    ColorScheme *c = [NSEntityDescription insertNewObjectForEntityForName:@"ColorScheme" inManagedObjectContext:context]; 
    [c setName:@"Red"]; 
    [c setTaken:[NSNumber numberWithInt:0]]; 
    [c setTopColorRed:[NSNumber numberWithFloat:tColorRed]]; 
    [c setTopColorBlue:[NSNumber numberWithFloat:tColorBlue]]; 
    [c setTopColorGreen:[NSNumber numberWithFloat:tColorGreen]]; 
    [c setBottomColorRed:[NSNumber numberWithFloat:bColorRed]]; 
    [c setBottomColorGreen:[NSNumber numberWithFloat:bColorGreen]]; 
    [c setBottomColorBlue:[NSNumber numberWithFloat:bColorBlue]]; 

    if (! [context save:&error]) 
    { 
     NSLog(@"Unresolved Core Data Save error %@, %@", error, [error userInfo]); 
     exit(-1); 
    } 

    c = nil; 
} 

답변

3

CGColor 저장시 coredata의 비표준 속성을 사용해야 할 수도 있습니다. 그것에 대한 Apple의 설명서는 This입니다. 이 SO 링크가 약간 설명합니다 ..

+0

SO 링크를 이용해 주셔서 감사합니다. – zardon

0

필자는 수레를 저장하고 필요할 때 검색하기로 결정했습니다. 나는 그 최선의 방법이 아니라는 것을 안다. 그러나 그것은 효과가있는 것처럼 보인다.

관련 문제