gpt4 book ai didi

ios - 如何使用 CoreData 存储自定义类

转载 作者:技术小花猫 更新时间:2023-10-29 11:20:29 24 4
gpt4 key购买 nike

我有一个扩展 NSObject 的类。它由一些浮点变量组成。我想将此类存储在核心数据中。

在数据模型中,似乎最有可能的选择是将此类转为二进制数据,以便使用 CoreData 存储它。

这是正确的吗?如果是这样,有人可以指导我如何使用 CoreData 存储和检索我的类吗?

谢谢,

最佳答案

一种可以使自定义对象透明地保存和从 Core Data 加载的方法是使用 NSValueTransformer。如果您创建一个 NSValueTransformer,它可以从您的类转到 NSData,反之亦然,您可以将实体中对应于此类的属性标记为可转换。然后,Core Data 将允许您在处理此属性时设置和检索此类型的对象。

在我的回答中 here我展示了如何使用 UIImage 属性执行此操作的代码,Core Data 本身不支持这些属性。要为您的自定义对象执行此类操作,您需要使其符合 NSCoding 并实现您自己的 -encodeWithCoder:-initWithCoder: 方法以将其序列化为用于存储的 NSData 实例。

Apple 在核心数据编程指南的“Non-Standard Persistent Attributes”部分提供了更多关于此的文档,包括使用 Mac 的 NSColor 类的示例。

关于ios - 如何使用 CoreData 存储自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com