iOS处理内存警告

时间:2012-02-13 00:55:56

标签: ios memory-management didreceivememorywarning

我有UIViewController显示为模态视图控制器。在它的视图中,我有一个UITextView,4个ImageButtons(带有CustomType)和另一个按钮(也是自定义类型),它允许拍摄照片然后在该按钮中显示。

接下来是问题:

  1. 假设我在UITextView中设置了一些文本,并且4个ImageButtons在每个文本中都有一个图像。
  2. 然后我启动UIImagePickerController并收到内存警告(通常会发生什么),以便调用didReceiveMemoryWarning并调用viewDidUnload。
  3. 当我从UIImagePickerController返回时,所有信息都被清除,因此用户必须重新输入所有内容(并为按钮设置4张照片)。
  4. 所以问题是,我应该如何处理这种情况以避免用户重新输入所有内容?我应该在UserDefaults中保存状态还是将旧信息存储在UIViewController的属性中,以便在再次调用viewDidLoad时使用它们?

    谢谢!

1 个答案:

答案 0 :(得分:1)

没有理由涉及NSUserDefaults。只需保存视图控制器属性中各种控件的状态即可。然后,您可以在重新加载视图时恢复-viewDidLoad方法中的控件。