UIImagePickerController导致viewDidLoad - 存储图像数据的位置?

时间:2010-08-07 10:29:49

标签: iphone

我发现UIImagePickerController可以卸载您的父视图,特别是如果您调出相机,导致再次调用viewDidLoad。我知道这是因为内存不足而发生的。但是我在视图控制器中存储UIImage* imagePickerController:didFinishPickingMediaWithInfo。重新加载后,此数据将丢失。 (视图控制器的self指针已更改,UIImage*为空。)因此,在视图控制器中存储此类变量是一个坏主意吗?它们应该存储在哪里 - 在全局(单例)对象中?

由于

1 个答案:

答案 0 :(得分:0)

这不是真正解决问题的好建议,但在这种情况下忽略内存警告会有很多帮助:

-(void)didReceiveMemoryWarning
{
    // we're too important to get flushed out by our child imagepicker.
}
视图控制器中的

将解决此问题。

存储您真正需要的对象的地方可能是应用程序委托,因为它不会卸载内存警告。 (任何没有响应内存警告的地方都会这样做)