我的代码现在将新条目放入其数组中。当用户点击模拟器上的主页按钮并返回到原始视图控制器时,它可以完美运行。但是,当视图控制器被转移到另一个 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)"
}
}
}