Userdefaults - 尝试插入非属性列表

问题描述

我已经将下面的结构用作变量(并用 json 信息填充它),但是在尝试将其保存到用户默认值时出现错误,错误显示:“尝试插入非属性列表对象”。

我已经阅读了一些其他主题,但不确定问题是什么,如果有人能指出我正确的方向,我将不胜感激。

// MARK: - Main
struct Main: Codable {
    var meta = Meta()
    var objects = [Object]()
}

// MARK: - Meta
struct Meta: Codable {
    var status = ""
    var count = 0
    var offset = 0
    var totalcount = 0
}

// MARK: - Object
struct Object: Codable {
    let id: Int
    let url: String
    let displayname: String
    let inventory: [Inventory]
    let media: [Media]
}


// MARK: - Inventory
struct Inventory: Codable {
   let id,warehouseid,instock,threshold: Int
    let reserved: Int
    let coordinates,note: String
    let prodno: Int
    let lastinventory: String
    let soldout,onpurchaseorders,generation: Int
    let created,changed: String
}

// MARK: - Media
struct Media: Codable {
    let id,prodno: Int
    let webpath: String
    let slot: Int
    let type,extdata: String
    let ctime,xsize,ysize,mediasetid: Int
    let alt,title: String
    let generation: Int
    let created,changed: String
}

这是我尝试使用它的方式(仅显示使用过的代码):

class {

let userdefaults = UserDefaults()


Viewdidload
{
if let value = userdefaults.value(forKey: "data") as? Main
       {
        sökresultat = value
       }
}


self.userdefaults.setValue(self.sökresultat,forKey: "data")

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)