json - 如何将 NSArray 存储在 Userdefaults 中?

标签 json swift userdefaults

这是我的代码

var defaultValues = UserDefaults.standard
var json = NSArray()
self.defaultValues.set(json, forKey: "BedData")

我用这个代码来存储字符串,它工作得很好,但是当我试图存储 NSArray 时,它给我这个错误“尝试插入非属性列表对象”

最佳答案

您必须编码和解码以向 UserDefault 添加数据和从中检索数据。

func getUserDetail() -> UserDetail? {
    if let decodedData = UserDefaults.standard.object(forKey: AppConstant.userDefaultKey.user_detail) as? Data {
        return try! PropertyListDecoder().decode(UserDetail.self, from: decodedData)
    }
    return nil
}

func setUserDetail(user: UserDetail) {
    UserDefaults.standard.set(try! PropertyListEncoder().encode(user), forKey: AppConstant.userDefaultKey.user_detail)
}

关于json - 如何将 NSArray 存储在 Userdefaults 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50794617/

相关文章:

c# - 如何在与 postman 的同一请求中测试上传文件和json?

php - jQuery,$.post() 未访问目标网址

ios - Swift 3 - 发送可选绑定(bind)变量的指针 - iOS

ios - iOS:未呈现NSMutableAttributedString.AddAttributes。 (Xamarin)

swift - 在 UILabel 中显示 tableView 计数

ios - 在没有用户默认值的情况下确定新安装与更新

Swift 3 UserDefaults 不保存

javascript - 区分同名的 JSON 元素

ios - Google 同意 SDK : How to Save 'Status' Array in UserDefaults?

c# - 将 JSON 反序列化为在局部 View 中呈现的模型(restsharp 或任何其他方法)