2012-03-09 17 views
2

iPhoneアプリをiPad版に変換し、iPad用の新しいXIBを作成し、〜ipad XIB名を使用して既存の目的のCクラスにリギングします。ビューが終了すると、プレゼンテーションビューはEXC_BAD_ACCESSをスローします

iPhone版では、ナビゲーションコントローラを使用して、アプリケーションに戻ることができます。これもiPadでうまくいくはずですが、ナビゲーションコントローラが表示されている間は応答しません。実際にはどのような相互作用にも見えませんが、ナビゲーションコントローラの背後にある地図をダブルクリックして戻ると、クリックした地図がズームされます。

私は同じことをする必要があるiPadビューにボタンを含めています。私が電話すると、

私はEXC_BAD_ACCESSを取得します。私はこの

*** -[UIWindowLayer superlayer]: message sent to deallocated instance 0x83bb9f0 

アイブ氏は0x83bb9f0が、私は私の割り当てとdeallocsを処理するためにARCを使用しています提示層self.view.layer

であると判断し、私に与え不気味なゾンビモードにして行ってきました。

質問はです:どうすればself.view.layerの割り当てを解除できますか?または私はこのエラーが発生しないように私は適切な時に再度それを割り当てることができますか?

必要に応じてさらにコードを提供できます。本当にありがとう!!

編集:メインページ(ランディングページ)が作成されて相続人、そして内側のビューが呼び出された後、ここで

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    landingPage *LandingPage = [[landingPage alloc] initWithNibName:@"landingPage" bundle:nil]; 

    self.navigationController = [[UINavigationController alloc] initWithRootViewController:LandingPage]; 
    self.window.rootViewController = self.navigationController; 
    // [self.navigationController pushViewController:LandingPage animated:YES]; 

    [self.window makeKeyAndVisible]; 
    return YES; 

があるのナビゲーションコントローラ:

mapView *MapView = nil; 
     MapView =[[mapView alloc] initWithNibName:@"mapView" bundle:nil]; 
     [self.navigationController pushViewController:MapView animated:YES]; 
+0

'mapView * MapView = nil;'そう!あなたは間違った方法を持っています。クラス(NSString、UIWindowなど)だけが大文字で始まる必要があります。そして、なぜUIView_Controller_のサブクラスがMap_View_と呼ばれていますか?地獄として混乱する。 –

+0

MapViewControllerクラスが他のクラスのデリゲートであるかどうかを確認します。ほとんどの場合、mapViewControllerがポップされ、割り当てが解除されたときに何かがデリゲートメソッドを呼び出します。たぶんMKMapViewDelegate? –

+0

私は知っている、その習慣を破るのはちょうど難しい。私はもっ​​と努力することを約束します! Buuut私はそれを解決しました、以下を参照してください(5分で) –

答えて

4

は、だから私はそれを得ました!

私がiPad版用に作成していたXIBは、ビューではなくウィンドウです。私はこれらのすべてをビューとして再作成し、それを装備し、うまくいった!

関連する問題