在结构上使用 userdefaults

Use userdefaults on a struct

我正在手动将数据输入结构。但是该结构不保存数据。我尝试使用 userdefaults 但它不起作用。如果数据位于结构 bad 中,我希望数据始终显示在标签 benCarson 上。

ViewController 1

struct bad {
    static var mm = [String]()
}

ViewController 2

class ViewController2: UIViewController {
    @IBOutlet var benCarson: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        benCarson.text = ViewController.bad.mm.map { " \([=11=])" }.joined(separator:"\n")
    }
}

我认为不需要结构,只要使用 UserDefaults 就可以了

保存

let mm = ["adsa", "safds", "twer", "qwer", "dfas"]
let defaults = UserDefaults.standard
defaults.set(mm, forKey: "SavedStringArray")
defaults.synchronize()

检索

let defaults = UserDefaults.standard
let myarray = defaults.stringArray(forKey: "SavedStringArray") ?? [String]()
benCarson.text = myarray.map { " \([=11=])" }.joined(separator:"\n")