在结构上使用userdefaults

时间:2017-09-12 03:17:06

标签: ios string struct swift3 nsuserdefaults

我手动将数据输入结构。但是结构不保存数据。我试图使用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")
    }
}

1 个答案:

答案 0 :(得分:2)

我认为不需要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")