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 に答える