在一个非常基本的应用程序中,我有 2 个 ViewController,我们称它们为 ViewController 和 SettingsViewController。
ViewController 上的“设置”按钮将用户转到 SettingsViewController
在 SettingsViewController 中,用户可以使用或不使用 UIDatePicker 设置时间戳,然后点击“完成”以返回到 ViewController
现在,当用户再次返回到 SettingsViewController 时,我试图确保之前访问此 VC 的数据仍然相关,但我发现 VC 是新的并且没有内存!这是否意味着我必须在用户离开 SettingsViewController 之前存储我需要记住的所有内容?
最佳答案
是的。一旦您从 SettingsViewController 返回到 ViewController,SettingsViewController 将被销毁,其中的数据将丢失。
根据您要保存的内容,您可以简单地使用 NSUserDefaults
来保存数据。
例如,要存储一个字符串:
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setValue("saveMe", forKey: "someKey")
然后稍后在您的其他 ViewController 中访问它:
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.stringForKey("someKey")!
关于ios编程: Keeping user configuration in memory vs storage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33107761/