1

我有一个 MKMapView 的问题,它作为一个全尺寸视图放置在 UITabBarController 的第一个位置。在显示视图之前,我向 mapView 添加了几个注释。一切正常。

当我更改选项卡(以便 mapView 不在视图中)并切换回带有 mapView 的选项卡时,所有注释都消失了,看起来 mapView 已重置为默认设置。

调试后我发现,当我切换回带有 mapView 的选项卡时,对 mapView 对象的引用指向与以前完全不同的地址。我假设,离开选项卡后 mapView 已被释放,但我完全不知道为什么?

提前感谢您的回复!

问候,塞巴斯蒂安

4

3 回答 3

3

您将地图注释初始化代码放在哪里?在 -viewDidUnload 中,您可能将 mapView 设置为 nil,不是吗?如果是这样,请确保在 -viewDidLoad 中再次初始化视图时,您正在(重新)添加注释。

如果您有代码,那也会有所帮助。

于 2010-01-13T20:44:33.447 回答
1

因为它使用了太多的内存,所以它正在被释放。
您应该在模型中保留有关视图的所有信息(注释、地图区域)
,以便在 viewDidLoad 中预设它。

于 2010-01-13T20:45:16.383 回答
0

我将注释的加载添加到 -viewDidLoad 并认为它现在可以正常工作。谢谢你的帮助!

于 2010-01-14T08:13:32.277 回答