我想将 Paint 中绘制的值保存在 UserDefaults 中。我还想将保存的值导入到加载按钮事件中。我正在使用 RxSwift 和 RxCocoa。
struct Paint: Codable {
let image: Data?
}
这是绘制代码。
saveButton.rx.tap.subscribe(onNext: {
let paint = Paint(image: Data())
UserDefaults.standard.synchronize()
let data = try? JSONEncoder().encode(paint)
UserDefaults.standard.set(data, forKey: "paint")
print("save")
}).disposed(by: disposeBag)
loadButton.rx.tap.subscribe(onNext: {
if let saveData = UserDefaults.standard.value(forKey: "paint") as? Data {
guard let data = try? JSONDecoder().decode(Paint.self, from: saveData) else { return }
print("load")
}
}).disposed(by: disposeBag)
我是这样写代码的。哪个部分有问题?