我应该从哪里加载用户默认值的数据?

时间:2017-12-18 22:35:19

标签: ios swift

我的应用实现了一个导航栏:它有一个主视图和一个设置视图。在设置视图中,我使用UserDefaults保存了一些用户的首选项。然后,当我返回主视图时,不会出现新的首选项。它只在我重新打开应用程序后出现。我在ViewController的viewDidLoad方法中加载用户默认值。从设置视图返回到主视图后,看起来不会再次调用viewDidLoad方法。那么我应该从哪里加载来自用户默认值的数据呢?

以下是我加载首选项的方法:

override func viewDidLoad() {
    super.viewDidLoad()
    numberOfPeople = defaults.double(forKey: "numberOfPeopleDefault")
    tipPercentage = defaults.double(forKey: "tipPercentageDefault") / 100.0
}

2 个答案:

答案 0 :(得分:5)

您可以将变量移到viewWillAppear内(每次出现ViewController时调用),例如:

override func viewWillAppear(_ animated: Bool) {
  super.viewWillAppear(animated)

  numberOfPeople = defaults.double(forKey: "numberOfPeopleDefault")
  tipPercentage = defaults.double(forKey: "tipPercentageDefault") / 100.0
}

答案 1 :(得分:0)

我认为您在为变量使用didSet时会发现一些价值。这是一个你可能会觉得有用的例子。

main