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