Я хочу сохранить / сохранить CGColor в Core Data.
В настоящее время я храню цвета с плавающей точкой для красного, синего, зеленого и т. Д.
Мне нужно хранить 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;
}