我可以在 iPhone 上使用 Core Data 中的 Transformable 属性类型做什么?
属性有这种可转换数据类型。它有什么用呢?有好的例子吗?
我想玩一下这个。因此,经过一段时间的搜索后,我发现了这个:NSValueTransformer。似乎是我需要的东西。
那么我该如何开始呢?例如,如果我想存储一个 UIColor 对象,我会为此创建一个变压器吗?
这个东西究竟正在转变为什么或从什么转变而来? NSData?我传递给变压器的对象必须遵循任何协议吗?
There's this Transformable data type for attributes. What is it good for? Are there good examples?
I'd like to play around with this. So after searching a while I came across this: NSValueTransformer. Seems to be something I need for this.
So how would I get started with this? For example, if I wanted to store an UIColor object, would I make an transformer for that?
What exactly is this thing transforming to or from? An NSData? And must the object which I pass to the transformer follow any protocol?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可转换属性对于在核心数据中存储非标准对象类型非常有用。例如,我在 这个答案允许您将 UIImages 作为属性存储在核心数据中。图像数据与包含图像的 PNG 表示形式的 NSData 实例相互转换。这一切都由自定义 NSValueTransformer 透明地为您处理。
您可能还希望加密核心数据模型中的各个属性,正如我在此描述。为此使用可转换属性使得编码变得很简单。
Transformable attributes are useful for storing nonstandard object types within Core Data. For example, I provide code in this answer that lets you store UIImages as an attribute within Core Data. The image data is converted to and from an NSData instance that contains the image's PNG representation. This is all handled transparently for you by a custom NSValueTransformer.
You may also wish to encrypt individual attributes within your Core Data model, as I describe here. Using a transformable attribute for this makes this trivial to code.