今天将内容完善。
使用Userdefault
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Expenses: ObservableObject { @Published var consumptionList: [Action]{ didSet { let encoder = JSONEncoder() if let encoded = try? encoder.encode(consumptionList){ UserDefaults.standard.set(encoded, forKey: "consumptionList") } } } init() { if let consumptionList = UserDefaults.standard.data(forKey: "consumptionList") { let decoder = JSONDecoder() if let decoded = try? decoder.decode([Action].self, from: consumptionList){ self.consumptionList = decoded return } } self.consumptionList = [] } }
|
列表横滑删除
1.如果需要支持手势,需要在List中使用ForEach
2.建一个移除列表项目的函数
1 2 3
| func removeItems(at offsets: IndexSet) { expenses.items.remove(atOffsets: offsets) }
|
3.再在循环下面调用函数
1
| .onDelete(perform: removeItems)
|
因为Userdefault在我用的最新版本中可能出问题了,我以前写的代码包括100day的参考代码都无法使用Userdefault。具体原因我还在检查中。暂时停止该项目。复习和手感找回的差不多了,明天重启100day。
SwiftUI 学习笔记 56:项目7 消费记录app 复习
本网站所有原创内容,均采用 CC BY-NC-ND 4.0 许可协议。完整转载请注明来自 张洪Heo!