Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在模式视图中收到内存警告--父视图控制器';s对象被释放。如何预防?_Iphone_Objective C_Memory Management_Mapkit - Fatal编程技术网

Iphone 在模式视图中收到内存警告--父视图控制器';s对象被释放。如何预防?

Iphone 在模式视图中收到内存警告--父视图控制器';s对象被释放。如何预防?,iphone,objective-c,memory-management,mapkit,Iphone,Objective C,Memory Management,Mapkit,我的根视图控制器是一个带有多个注释的映射。当选择注释并点击附件按钮时,我会显示一个模态视图,如下所示: 在这个模式视图中,您可以在注释坐标上看到街道视图(我使用UIWebview进行此操作)。您还可以提交一张照片,或者执行一些内存消耗相对较高的其他任务。当我显示模式视图时,每当我在控制台中收到“Received memory warning”(已接收内存警告)消息时,父对象(即MapKit对象)似乎会被释放,因为一旦我取消模式视图,地图现在位于地球中心(靠近非洲的南大西洋某处),而tablevi

我的根视图控制器是一个带有多个注释的映射。当选择注释并点击附件按钮时,我会显示一个模态视图,如下所示:

在这个模式视图中,您可以在注释坐标上看到街道视图(我使用UIWebview进行此操作)。您还可以提交一张照片,或者执行一些内存消耗相对较高的其他任务。当我显示模式视图时,每当我在控制台中收到“Received memory warning”(已接收内存警告)消息时,父对象(即MapKit对象)似乎会被释放,因为一旦我取消模式视图,地图现在位于地球中心(靠近非洲的南大西洋某处),而tableview是空的

我想保留这些对象,即使有内存警告。导致这种情况的原因似乎是在根视图控制器中调用viewDidUnload,在这个方法中,我将所有变量设置为nil。处理这种记忆状况的正确方法是什么


谢谢

如果您确实获得了didReceiveMemoryWarning,则默认实现将卸载其视图(如果可以),然后调用viewDidUnload。我不知道您是如何设置控制器的,但是您可能必须存储当前坐标,然后在调用viewDidLoad/Aspect时,您可以确保将地图设置为您想要的位置。这是视图控制器上的苹果文档

我不再使用didUnload方法,它工作正常。唯一的缺点是,我在UIWebview中收到了不间断的内存警告,但应用程序现在似乎运行良好。现在,我将了解如何使用UIWebview消除持久内存警告。