2012-02-13 87 views
0

我有一个UIViewController显示为模式视图控制器。在我看来,我有一个UITextView,4个ImageButtons(带有CustomType)和另一个按钮(也是自定义类型),可以拍摄一张照片,然后在该按钮中显示。iOS处理内存警告

的问题是下一:

  1. 假设我已经在UITextView设置一些文本和4个ImageButtons在他们每个人的图像。
  2. 然后我启动UIImagePickerController,我收到内存警告(通常会发生什么情况),因此didReceiveMemoryWarning被调用并且viewDidUnload。
  3. 当我从UIImagePickerController返回时,所有信息都会被清除,因此用户必须重新键入所有内容(并为按钮设置4张照片)。

所以问题是,我应该如何处理这种情况,以避免用户重新输入一切?我是否应该将状态保存在UserDefaults中或将旧信息保存在UIViewController的属性中,因此在viewDidLoad再次被调用时使用它们?

谢谢!

回答

1

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