1

当我在新视图中使用导航控制器打开 MapView 时,不等到地图加载,然后单击后退按钮 - 我抛出异常。谁能证实这一点?什么是变通方法?

4

2 回答 2

4

你释放你的导航控制器时释放地图视图吗?

在委托被释放后,地图视图可能正在向其委托(您的导航控制器)发送消息。

在释放它之前尝试将 mapview 的委托设置为 nil。

于 2009-06-29T21:48:36.563 回答
1

我有这个确切的错误。

它是由您的类中的一些委托方法引起的,一旦您弹出该类并且地图正忙于做一些事情,它就会尝试调用已留下内存的类。

我只是添加了

- (void)dealloc
{   
    // release the map delegate otherwise it will try and call our classes with no data.
    // map for me is my MKMapView
    map.delegate = nil;
    [super dealloc];
}
于 2009-07-01T12:10:12.623 回答