SwiftUI 从 UserDefaults.standard 存储和提取字典

Posted

技术标签:

【中文标题】SwiftUI 从 UserDefaults.standard 存储和提取字典【英文标题】:SwiftUI Store and Extract Dictionaries from UserDefaults.standard 【发布时间】:2021-04-26 23:10:09 【问题描述】:

所以对于 Userdefaults.standard,我存储了一些键的字典,但我不知道如何从中访问值。

对于那些键,值应该是一个字典,但我假设编译器不知道这一点。如何遍历 UserDefaults 中的所有内容以查找某些键,然后访问其中包含的字典?

【问题讨论】:

【参考方案1】:

DictionaryRepresentation 返回 [String : Any] 类型的值,因此您的 valueAny 类型,并且 Any 不一定有下标运算符。所以你需要检查它是什么类型并进行有条件的向下转换。

if let dict = value as? [String: Any]  ... 

但最好不要使用字典来保存数据。考虑改为使 ListItem 符合 Codable,然后直接编码/解码 ListItem 的编码表示。

【讨论】:

以上是关于SwiftUI 从 UserDefaults.standard 存储和提取字典的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI之从前端视角看SwiftUI语言

从 SwiftUI 推送到 UIViewController

从 SpriteKit 场景移动到 SwiftUI 视图

从 SwiftUI 视图呈现 UIActivityViewController

从 UIKit 调整 SwiftUI 组件

SwiftUI – 将数据从 SwiftUIView 传递到 SceneKit