不能将JSON模型类型设置为UserDefault
创始人
2024-12-27 04:30:11
0

我们不能直接将自定义对象存储到 UserDefault 中,需要将其转换成 Data 类型。可以使用 JSONEncoder 将对象编码为 JSON 数据,然后将其存储为 Data 类型,再使用 UserDefault 存储。

示例代码:

// 定义一个自定义类型,需要遵循 Codable 协议
struct User {
    let name: String
    let age: Int
}

// 创建一个 User 对象
let user = User(name: "Alice", age: 20)

// 将 User 对象编码为 JSON 数据
let encoder = JSONEncoder()
let data = try? encoder.encode(user)

// 将 JSON 数据存储到 UserDefault 中
UserDefaults.standard.set(data, forKey: "user")

// 从 UserDefault 中读取 JSON 数据
if let data = UserDefaults.standard.data(forKey: "user") {
    // 将 JSON 数据解码为 User 对象
    let decoder = JSONDecoder()
    if let user = try? decoder.decode(User.self, from: data) {
        print(user.name)   // 输出 "Alice"
    }
}

相关内容

热门资讯

最终"wepoker... 最终"wepoker怎么开辅助"pokemmo内置修改器(竟然是有辅助软件)-哔哩哔哩1、进入游戏-...
透视辅助"wepok... 透视辅助"wepoker软件安装包"wepoker免费脚本咨询(本来存在有辅助辅助器)-哔哩哔哩一、...
据公告内容"wepo... 据公告内容"wepoker的辅助器"epoker透视(原来是有辅助神器)-哔哩哔哩1、进入游戏-大厅...
透视有挂"wepok... 透视有挂"wepoker免费钻石"wpk辅助器是真的吗(都是真的是有辅助软件)-哔哩哔哩1、下载好w...
这一问题亟待解决"约... 这一问题亟待解决"约局吧德州有挂吗"佛手在线大菠萝辅助(竟然有辅助插件)-哔哩哔哩1、下载好佛手在线...
据了解"wepoke... 据了解"wepoker有人用过吗"红龙poker辅助(果然存在有辅助神器)-哔哩哔哩1、操作简单,无...
近日"wepoker... 近日"wepoker透视脚本是什么"werplan脚本(都是真的是有辅助工具)-哔哩哔哩;1、该软件...
透视脚本"德州hhp... 透视脚本"德州hhpoker是真的吗"红龙poker辅助工具(确实存在有辅助app)-哔哩哔哩1、金...
最终"uupoker... 最终"uupoker有透视吗"xpoker辅助控制(原来是有辅助下载)-哔哩哔哩uupoker有透视...
随着"wepoker... 随着"wepoker有透视吗"wepoker辅助器有哪些功能(真是是有辅助app)-哔哩哔哩1、we...