2010-11-18 10 views
0

私はUIViewControllerサブクラスとMKMapViewインスタンスにマップされたIBOutletを持っています。 これまでのところ、非常に優れていますが、ビューコントローラがviewDidLoadメソッドをトリガする理由がなく、アプリがクラッシュすることがあります。これは完全にランダムですが、3つのインスタンスを作成して新しいインスタンスを作成してナビゲーションコントローラにプッシュする場合にのみ発生します(ただし、ナビゲーションコントローラのスタックに同時にこれらのビューコントローラが1つあります)。ここで場所をトラッキングするときにMKMapViewが異常にクラッシュする

viewDidLoadメソッドのコードです:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [map setDelegate:self]; 
    [map setMapType:MKMapTypeStandard]; 
    [map setShowsUserLocation:YES]; 

    if(area) 
     self.area = area; 
} 

スタックトレースは、私は(私はそれをコメントアウトするとき、それがクラッシュしたことがない)だけで、このライン上の[map setShowsUserLocation:YES];を呼び出すときにクラッシュすることを示しています。ここでスタックトレースです:

alt text

(絵のために申し訳ありませんが、私はそれをすべて入力するのが面倒でした)。

誰が何が起こって、なぜクラッシュするのか知っていますか?

+0

現在の位置にアノテーションを追加するとクラッシュするようです。おそらく、アノテーション関連のコードの要点を持つことに役立つでしょう。 – bosmacs

+0

ああ、それを追加することを忘れないでください、私はデリゲートを設定しましたが、私はイベントを見たり、デリゲートメソッドを実装したりしません。だから、すべてがまだデフォルト設定になっています。 – JustSid

+0

同時に複数のインスタンスが存在しますか?あるいは、一度に1つしか生きられないように、異なる時間に作成され、リリースされますか? – bosmacs

答えて

1

viewDidUnload[map setShowsUserLocation:NO];を設定してみてください。私は同様の状況がありますが、ビューがリロードされるたびにプログラムでMKMapViewを再作成し、この問題は見ていません。

+0

これは魅力のように機能します(deallocメソッドでもNOに設定されています)。ご協力いただきありがとうございます! – JustSid

関連する問題