我试图使用NSUserdefaults来保存文本字段中的一些数据,我希望它在应用程序退出时保存并在应用程序启动时加载,但是我遇到了问题.
我想要使用的方法都在AppDelegate中,现在我不明白如何使用AppDelegate,我想到了两种可能的方法来实现这一点,我不知道它是否会起作用.
>导入AppDelegate并覆盖我VC中的方法
要么
>在AppDelegate中创建我的VC实例,并允许AppDelegate设置和检索我的UITextField的文本 – (这不是违背MVC范式吗?)
任何建议都会赞赏
非常感谢您的宝贵时间
解决方法
如上所述,您有两种选择:
1-)直接从AppDelegate的applicationDidFinishLaunching和applicationWillTerminate方法到达VC的UITextField.
在applicationDidFinishLaunching上:
从NSUserDefaults读取,在VC中设置UITextField.
在applicationWillTerminate上:
从VC中的UITextField读取,设置NSUserDefaults并进行同步.
2)在VC中创建适当的方法来执行相同的工作,并从AppDelegate调用它们.
-(void)record { // Read from UITextField,set UserDefaults and synchonize. } -(void)restore { // Read from UserDefaults,set UITextField. }