iOS处理内存警告
问题描述:
我有一个UIViewController
显示为模式视图控制器。在我看来,我有一个UITextView
,4个ImageButtons(带有CustomType)和另一个按钮(也是自定义类型),可以拍摄一张照片,然后在该按钮中显示。iOS处理内存警告
的问题是下一:
- 假设我已经在
UITextView
设置一些文本和4个ImageButtons在他们每个人的图像。 - 然后我启动
UIImagePickerController
,我收到内存警告(通常会发生什么情况),因此didReceiveMemoryWarning
被调用并且viewDidUnload。 - 当我从
UIImagePickerController
返回时,所有信息都会被清除,因此用户必须重新键入所有内容(并为按钮设置4张照片)。
所以问题是,我应该如何处理这种情况,以避免用户重新输入一切?我是否应该将状态保存在UserDefaults中或将旧信息保存在UIViewController
的属性中,因此在viewDidLoad
再次被调用时使用它们?
谢谢!
答
没有理由涉及NSUserDefaults。只需在视图控制器的属性中保存各种控件的状态即可。然后,您可以在重新加载视图时恢复-viewDidLoad
方法中的控件。