1

で問題が発生しMKMapViewています。誰かが私を助けてくれることを願っています。

MKMapViewとナビゲーションコントローラーを埋め込むビューがあります。navigationController を別の viewController にプッシュしてから、もう一度別の viewController をプッシュします。その後、 に戻ってMKMapViewマップに触れると、アプリケーションがクラッシュします。MkmapView > View2 > View3 > View2 > MKMapView > マップをタッチするとクラッシュします。

理由は絶対にわかりません。別のビューのみをプッシュして戻ってくると、うまく機能します。したがって: MkmapView > View2 > MKMapView = OK

アプリケーションの別の部分で他のビューを同じように使用しても問題ありません。View1 > View2 > View3 > View2 > View1 = OK

確認しましたが、メモリの警告viewDidUnloadや解放メソッドは呼び出されていません。

The error is: *** -[NSURL length]: unrecognized selector sent to instance 0x4806930

今回クラッシュしたのは NSURL でしたが、ほとんどの場合は異なります: NSArray、NSDictionnary など...

スタック トレースは次のとおりです。

0    0x3266bdf4 in objc_exception_throw

1    0x32de2bfc in -[NSObject doesNotRecognizeSelector:]

2    0x32d67b18 in ___forwarding___

3    0x32d5e840 in __forwarding_prep_0___

4    0x32cec074 in -[MKOverlayView _annotationViewForSelectionAtPoint:avoidCurrent:]

5    0x32ce4b60 in -[MKOverlayView annotationViewForPoint:]

6    0x32cc7efc in -[MKMapView _firstTouchBegan:withEvent:]

7    0x32d17e28 in -[MKScrollView _firstTouchBegan:withEvent:]

8    0x32d17c98 in -[MKScrollView touchesBegan:withEvent:]

9    0x30c4a888 in -[UIWindow _sendTouchesForEvent:]

10    0x30c49f94 in -[UIWindow sendEvent:]

11    0x30c45790 in -[UIApplication sendEvent:]

12    0x30c45094 in _UIApplicationHandleEvent

13    0x31bba990 in PurpleEventCallback

14    0x32da452a in CFRunLoopRunSpecific

15    0x32da3c1e in CFRunLoopRunInMode

16    0x31bb9374 in GSEventRunModal

17    0x30bf3c30 in -[UIApplication _run]

18    0x30bf2230 in UIApplicationMain

19    0x000025f8 in main at main.m:14

誰かが同じ種類の問題を抱えていましたか? バグを見つける方法や何を確認する必要があるかについて、誰かアドバイスをもらえますか?

御時間ありがとうございます!

4

3 に答える 3

1

マップ ビューに注釈があります。注釈の-titleメソッドにブレークポイントを設定すると、マップに触れたときに同じスタック トレースが得られます。

あなたの注釈は時期尚早にリリースされています。

于 2009-11-22T01:12:15.827 に答える
1

dealloc メソッドで MKMapView オブジェクトを解放する前に、必ず MKMapView.delegate=nil を使用してください。これは、iOS 3.0 では重要ですが、それ以降のバージョンでは必須ではありません。

于 2010-09-22T16:43:17.370 に答える
0

ゾンビをオンにしてみてください。ここでおそらく起こっているのは、NSURL オブジェクトの割り当てが解除されており、同じアドレスで何か他のものが作成されていることです。

于 2009-11-21T19:57:55.690 に答える