如何在核心数据中正确保存可转换对象?
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 中的某些特定类型,它确实会随时重新出现,您可以尝试实现自定义转换器,就像文章中显示的那样。祝你好运!
【讨论】:
以上是关于如何在核心数据中正确保存可转换对象?的主要内容,如果未能解决你的问题,请参考以下文章