iPhone-MKMapView实例存在问题

iPhone-MKMapView实例存在问题,iphone,objective-c,reference,mkmapview,Iphone,Objective C,Reference,Mkmapview,我对MKMapView有一个问题,它作为一个全尺寸视图放置在UITabBarController的第一个位置。在显示视图之前,我向mapView添加了几个注释。一切正常 当我更改选项卡以使“地图视图”不在视图中并切换回带有“地图视图”的选项卡时,所有注释都将消失,看起来“地图视图”已重置为默认设置 调试后,我发现,当我切换回带有mapView的选项卡时,对mapView对象的引用指向的地址与以前完全不同。我假设mapView在离开选项卡后已被释放,但我完全不知道为什么 提前感谢您的回复 您好,

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

当我更改选项卡以使“地图视图”不在视图中并切换回带有“地图视图”的选项卡时,所有注释都将消失,看起来“地图视图”已重置为默认设置

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

提前感谢您的回复

您好,
Sebastian

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


如果你有代码,那也会有帮助

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


如果你有代码,那也会有帮助

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

因为它占用了太多内存,所以正在释放它。 您应该在模型中保留有关视图注释、地图区域的所有信息
因此,您可以在viewDidLoad中对其进行预设。

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

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

注释的坐标由NSURL请求加载。当请求准备就绪时,会发布一个NSNotification,注释由mapView控制器中的方法处理并添加到地图中。但是在-viewDidLoad中,我没有重新加载它们,也许这就是错误所在。您在哪里创建和执行NSURLRequest?您应该在-viewDidLoad中重新加载。好的,当视图离开屏幕时,大部分时间都设置为零,这就是为什么在更改选项卡时会发生这种情况。注释的坐标是由NSURL请求加载的。当请求准备就绪时,会发布一个NSNotification,注释由mapView控制器中的方法处理并添加到地图中。但是在-viewDidLoad中,我没有重新加载它们,也许这就是错误所在。您在哪里创建和执行NSURLRequest?您应该在-viewDidLoad中重新加载。好吧,当视图离开屏幕时,大多数时间都设置为零,这就是为什么在更改选项卡时会发生-viewDidUnload可能没有被调用?因为我在那里放置了一个从未到达的断点。那么可能您正在实例化视图两次..检查您在哪里创建控制器-viewDidUnload可能没有调用吗?因为我在那里放置了一个从未到达的断点。那么可能您正在实例化视图两次。检查您在何处创建控制器