3

发布 MKMapView 后我有一个奇怪的(?)崩溃。MKMapView 是我的视图控制器中的一个子视图,在我从导航堆栈中删除该视图并释放它之后,应用程序与此堆栈崩溃:

...
#4  0x34196dc8 in -[MKMapView(UserPositioningInternal) locationManagerFailedToUpdateLocation:withError:]
#5  0x3417030c in -[MKLocationManager _reportLocationFailureWithError:]
#6  0x3416de94 in -[MKLocationManager locationManager:didFailWithError:]
#7  0x3205f538 in -[CLLocationManager onClientEventLocation:]
#8  0x3205dd5c in -[CLLocationManager onClientEvent:supportInfo:]
...

处理视图时是否必须执行一些额外的步骤?

编辑: 在控制器的 dealloc 方法中将 mapView.showsUserLocation 设置为 NO 似乎有帮助。问题仍然是 - 这是预期的行为吗?

4

1 回答 1

10

在 dealloc 中,在释放 mapView 之前将其委托设置为 nil。

此外,如果您正在使用 ReverseGeocoder 和 CLLocationManager 之类的东西,您可能想要做同样的事情。

于 2009-11-20T16:56:06.723 回答