如何在核心数据中正确保存可转换对象?

Posted

技术标签:

【中文标题】如何在核心数据中正确保存可转换对象?【英文标题】:How can I correctly save transformable objects in core data? 【发布时间】:2021-01-23 10:46:29 【问题描述】:

我正在构建一个使用核心数据的应用。在那里我保存了字符串数组、UIColor 和 UIImage。都具有可转换的类型。 但是我注意到我收到以下错误:

“NSKeyedUnarchiveFromData”不应用于取消归档,并将在未来的版本中删除

我发现并实施了一些演示 like this one,我想知道这些是否是消除错误的最佳解决方案。 一切似乎都很好,但对我来说,在我看到那个错误之前,它也使用了可变形对象。 所以我正在寻找将这些可转换类型保存在核心数据中的正确方法。

【问题讨论】:

【参考方案1】:

链接的文章很好地涵盖了该主题。您得到的控制台日志不是错误,而是警告。我们遇到了同样的问题,每个解决方案都指向使用NSSecureUnarchiveFromData,这实际上似乎是解决问题的正确方法。我们已经在生产中使用它很长一段时间了,一切都按预期工作,警告消失了。你应该按照它的本来面目对待它,一个警告。对于您尝试存储在 CoreData 中的某些特定类型,它确实会随时重新出现,您可以尝试实现自定义转换器,就像文章中显示的那样。祝你好运!

【讨论】:

以上是关于如何在核心数据中正确保存可转换对象?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 中正确保存多个文件?

网页无法在谷歌浏览器中正确保存

在 Symfony 中正确保存相关实体(外键)

无法在数据库中正确保存不同语言的地址

如何在 sql 数据库中正确实现商务数据关系?

如何在Java中正确定义多维通用集合?