使用 NSUserDefaults 保存/加载一些小值......这非常简单。
但是我应该在哪里放置我的 SAVE 或 LOAD 代码?
仅当显示某个视图时,我才希望将默认值设置为 LOAD。我希望默认设置为 SAVE,仅当该视图退出/卸载/隐藏时。
(我使用“基于视图的模板”创建了一个简单的应用程序,并将我的字符串值放在 UITextFields 内部的视图中。)
使用 NSUserDefaults 保存/加载一些小值......这非常简单。
但是我应该在哪里放置我的 SAVE 或 LOAD 代码?
仅当显示某个视图时,我才希望将默认值设置为 LOAD。我希望默认设置为 SAVE,仅当该视图退出/卸载/隐藏时。
(我使用“基于视图的模板”创建了一个简单的应用程序,并将我的字符串值放在 UITextFields 内部的视图中。)
viewWillAppear
该视图的和dealloc
/viewDidDisappear
方法怎么样UIViewController
?
您应始终将代码本身放入其自己的文件对中以管理用户默认值,并且该模块应负责序列化和反序列化,尽管被序列化的对象本身应拥有这种精湛技艺。您只能在 viewDid Load 中获得绝对需要的设置,以免减慢初始化速度。
如果您有大量的用户设置、数组和字典、多个会话数据,请不要错误地将它们存储在单个字典和键下。把它们分开。
如果您的应用程序需要用户登录(我做加密,所以我的大多数人都这样做),那么只有在登录后,从最小负载的用户设置验证密码,您才应该继续加载较重的会话设置。无论如何,这是在“用户时间”。
好吧,您谈论的观点是:
viewDidLoad / viewWillLoad
viewDidUnload / dealloc
看起来是不错的候选人。此外,在您的 init 方法中,特别是如果您想在此时将 iVars 初始化为来自 NSUserDefaults 的内容。