我有一个CoreData Mac应用程序,我正在为它编写一个iOS前端。到目前为止,一切运行正常,我能够成功地读取iOS版本中用Mac应用程序创建的文件。我正在苦苦思索如何将NSColor数据(在我的数据模型中作为NSData对象存储)读取到iOS版本的应用程序的UIColor中。
总而言之:如何获取包含存档的NSData对象的NSColor对象,并将其转换为iOS设备上的适当UIColor对象?
发布于 2010-07-21 04:17:50
到目前为止,我所做的(它是有效的,但并不美观)是将NSData读入NSString (数据似乎是ASCII码的)。RGB值存在于NSString中,通过一些解析就可以提取出RGB值来创建一个新的UIColor。
我不确定这是一个全局的解决方案,还是碰巧在我的情况下有效的解决方案,但这是一个开始。
显然,作为NSArray序列化会更好,我将在未来研究这一点。
发布于 2010-07-21 04:54:21
看一下Core Data Programming Guide中的以下内容
您是否尝试过用UIColor替换NSColor?UIColor实现了NSCoding协议
// - (NSColor *)color
- (UIColor *)color
{
[self willAccessValueForKey:@"color"];
// NSColor *color = [self primitiveColor];
UIColor *color = [self primitiveColor];
[self didAccessValueForKey:@"color"];
if (color == nil)
{
NSData *colorData = [self colorData];
if (colorData != nil)
{
color = [NSKeyedUnarchiver unarchiveObjectWithData:colorData];
[self setPrimitiveColor:color];
}
}
return color;
}https://stackoverflow.com/questions/3292836
复制相似问题