我有一个视图控制器,其中的视图是从NIB加载的。据我了解,控制器可以随时从内存中卸载视图。例如,假设我的应用程序进入后台。
如果我有值,例如文本字段中的文本,则在卸载视图时,这些值将丢失。或者,我可能希望在加载视图之前设置这些值,在这种情况下,我的插座未设置,我还无法执行此操作。
因此,我是否需要在用户界面中保留所有值的卷影副本,以便我可以在 viewDidLoad 中重新设置它们:如果视图被卸载然后再次加载?
还是我做事方式不对?
如果应用程序进入后台,请实现保存和还原应用程序的方法。 UIApplication将让您知道焦点何时在以下UIApplicationDelegate方法中发生更改:
– applicationDidBecomeActive:
– applicationWillResignActive:
– applicationDidEnterBackground:
– applicationWillEnterForeground:
有关更多详细信息,请参阅帮助。
忘记了内存警告...解决方案取决于具体情况。根据我的经验,当涉及到删除可见视图以清除一些内存时,您不想实现恢复机制,而是测试内存泄漏、观察内存分配、优化内存管理或重新考虑设计。