【发布时间】:2019-05-22 12:50:47
【问题描述】:
我想在我的代码中保存一个无法修改为UserDefaults 的结构。我经历了许多解决方案,但每个人都建议在 struct 中使用Codable/NSCoding。我无法编辑结构。有谁知道我们如何实现这一目标。
我尝试将对象包装到 NSDictionary,但在尝试保存时,它崩溃说“尝试插入非属性列表对象”。是因为我的模型中有 nil 值吗?
感谢任何帮助。
【问题讨论】:
-
edit 你的问题包括
struct定义。为什么不能在extension中添加Codable一致性? -
事件如果这个结构是在单独的模块中定义的,你没有访问权限,你可以将它扩展为
Codable。 -
@Astoria:它给了我错误“'Decodable' 的实现不能在不同文件的扩展中自动合成到类型'并且'Encodable' 的实现不能在一个在不同的文件中扩展该类型。你有什么解决办法吗?
-
@iOSManiac 自己实现协议方法
标签: swift userdefaults custom-object