我正在手动将数据输入到结构中。但是该结构不会保存数据。我尝试使用userdefaults,但无法正常工作。我希望数据始终在结构benCarson中始终显示在标签bad上。

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 { " \($0)" }.joined(separator:"\n")
    }
}

最佳答案

我认为不需要使用struct就可以使用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 { " \($0)" }.joined(separator:"\n")

关于ios - 在结构上使用userdefaults,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46167350/

10-13 03:24