在我的应用程序中,我将数据保存在 userDefaults 中,当我尝试使用相同的密钥更新数据时,它确实会更新,但前提是我关闭应用程序并重新启动模拟器。否则,如果我想立即访问它(它是其他视图控制器),它不会给我更新的对象,但它会给我我用那个键保存的最后一个数据。我更新了一个视图控制器中的数据override func viewWillDisappear(_ animated : )
并尝试在父视图控制器中访问它。
我是这样做的:
override func viewWillDisappear(_ animated : Bool) {
super.viewWillDisappear(animated)
if self.isMovingFromParentViewController {
if saveButtonPressed != true {
// here I don't need to execute code the back button is pressed
} else {
if let selection = selectedMinutes {
UserDefaults.standard.set(selection, forKey: "selectedRow")
print(UserDefaults.standard.object(forKey: "selectedRow")!) // this line prints the actual updated data but I still cannot get it in the parent view controller
}
}
}
}