我可以想到几种方法,例如将每个颜色组件保存为浮点数,将数组保存为可转换的.保存图案图像的颜色可能会稍微复杂一点,但我想你可以将图像的名称保存为字符串并将其插入到创建代码中.
我是在正确的轨道上,否则一般来说最好和最有效率的是什么?
我想将一个UIColor对象作为属性存储在Core Data实体上,然后检索它并以与我在该实体上执行其他属性相同的方式使用它.
在我的研究中,虽然文献看起来很稀疏,但我发现这篇文章说该属性应该被指定为"可转换",并且数据应该在使用NSKeyedArchiver和出现时手动转换NSKeyedUnarchiver.
但后来,我找到了一篇更新的帖子说,所有必要的是将UIColor保存为CD中的Transformable属性,生成一个Managed Object子类,并像其他属性一样使用.
在苹果文档本身进入一些细节上的存储和检索NSColor上的对象,而不是(我能找到)UIColor.但是,它听起来像归档/取消归档在CD中自动处理.也许.我被这条线弄糊涂了:
如果您在Xcode中使用模型编辑器,请在属性的"类型"弹出窗口中选择"可变换",然后在"值变换器名称"文本字段中键入名称.
我假设他们正在谈论属性的名称,但我不确定,特别是因为它警告明确指定变换器可能引起的问题:
要点:虽然默认转换器是NSKeyedUnarchiveFromDataTransformerName指定的转换器,但实际上反向使用此转换器.如果明确指定默认转换器,Core Data将"以错误的方向"使用它.
我已经达到了这样的程度:我有一个名为"color"的新的可转换属性(没有命名变换器)并且生成了一个包含新"color"属性(类型id)的新子类文件.
我只是简单地困惑.有人可以给我一些关于如何从这里开始的明确指导吗?
如果重要的话,我正在使用MagicalRecord与Core Data进行交互.
非常感谢您的帮助!