60

属性有这种 Transformable 数据类型。到底有什么好处呢?有好的例子吗?

我想玩这个。所以在搜索了一段时间后,我发现了这个:NSValueTransformer。似乎是我需要的东西。

那么我该如何开始呢?例如,如果我想存储一个 UIColor 对象,我会为此制作一个转换器吗?

这东西究竟是从什么转变而来的?一个NSData?我传递给转换器的对象必须遵循任何协议吗?

4

1 回答 1

83

可转换属性对于在 Core Data 中存储非标准对象类型很有用。例如,我在这个答案中提供了代码,允许您将 UIImages 作为属性存储在 Core Data 中。图像数据与包含图像的 PNG 表示的 NSData 实例相互转换。这一切都由自定义 NSValueTransformer 为您透明地处理。

正如我在此处描述的那样,您可能还希望加密 Core Data 模型中的各个属性。为此使用可转换属性使这对代码来说变得微不足道。

于 2010-06-15T20:51:07.920 回答