How to save list of object in user Default?

后端 未结 6 1297
故里飘歌
故里飘歌 2020-12-01 23:07

my object is :

 struct Order: Codable {
        var item_id:String = \"\"
        var quantity:Int = 0
        var image:String = \"\"
        var name:Strin         


        
6条回答
  •  爱一瞬间的悲伤
    2020-12-01 23:53

    Codable

    You can save and load your array to/from UserDefaults using Codable.

    Saving

    This is how you save it

    class func saveOrders(_ orders: [Order]) {
        guard let data = try? JSONEncoder().encode(orders) else { return }
        UserDefaults.standard.set(data, forKey: "orders")
    }
    

    Loading

    And this is how you load it

    class func loadOrders() -> [Order] {
        guard
            let data = UserDefaults.standard.data(forKey: "orders"),
            let orders = try? JSONDecoder().decode([Order].self, from: data)
        else { return [] }
        return orders
    }
    

提交回复
热议问题