我的代码现在将新条目带入其数组中。当用户点击模拟器上的主页按钮并返回到原始视图控制器时,它可以完美地工作。但是,当视图控制器被添加到另一个vc并返回到原始vc并输入新条目时,所有先前条目都将被删除并保存。基本上问题是当用户切换类并返回userDefault时会被新的userdefault覆盖。
import UIKit
class ViewController: UIViewController {
var persons:[Person] = [Person]()
@IBOutlet var txt: UITextField!
@IBOutlet var label: UILabel!
@IBAction func add(_ sender: Any) {
let judo = Person.init(name: txt.text! )
self.persons.append(judo)
label.text = String(describing: persons)
UserDefaults.standard.set(label.text, forKey: "name")
}
override func viewDidLoad() {
if let name = UserDefaults.standard.value(forKey: "name") as? String {
label.text = name
}
}
struct Person : CustomStringConvertible {
var name: String
static var myStruct = [String]();
var description: String {
return "\(name)"
}
}
}