自定义核心数据实体

发布于 2024-11-07 10:01:29 字数 96 浏览 0 评论 0原文

如何创建一个包含自定义对象的核心数据实体?

例如,可以容纳图像、音频剪辑、自定义哥斯拉对象等的实体。

它们是如何保存和加载的?使用 NSData?

How does one create a Core Data Entity that has custom objects within it?

E.g. An entity that has the possibility of holding, e.g. images, audio clips, a custom godzilla object.

How are these saved and loaded as well? Using NSData?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

过去的过去 2024-11-14 10:01:29

最好的方法是使用“可转换”属性。有关详细信息,请参阅此处的核心数据文档:

非标准持久属性

The best way would be to use a 'transformable' attribute. See the Core Data documentation here for more information:

Non-Standard Persistent Attributes

微凉 2024-11-14 10:01:29

如果自定义类符合 NSCoding 协议,您可以使用 可转换属性。苹果章节的简短引用 核心数据编程指南非标准持久属性

可变形背后的想法
属性是您访问
属性作为非标准类型,但是
Core Data 在幕后使用
NSValueTransformer 的实例
将属性与属性相互转换
NSData 的实例。然后是核心数据
将数据实例存储到
持久存储。

If the custom classes conform to the NSCoding protocol you can make use of Transformable Attributes. A short quote from Apple's chapter Non-Standard Persistent Attributes pf Core Data Programming Guide:

The idea behind transformable
attributes is that you access an
attribute as a non-standard type, but
behind the scenes Core Data uses an
instance of NSValueTransformer to
convert the attribute to and from an
instance of NSData. Core Data then
stores the data instance to the
persistent store.

不羁少年 2024-11-14 10:01:29

是的,您可以使用 NSData 来完成此操作,

例如将 UIImage 转换为 NSData

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);

,然后您可以使用以下命令将其保存在目录中

[dataObj writeToFile:fileName atomically:YES];

这里 fileName 是目录中文件的路径

Yes, you can do it using NSData

for example converting a UIImage to NSData

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);

and then you can save it in the directory using

[dataObj writeToFile:fileName atomically:YES];

Here fileName is the path of file in the directory

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文