0

何が悪いのかわからないこのバグにぶち当たりました。このコードをデバッグしてここにヒットすると、 addSubView 行にヒットするとプログラムがロックされ、次のように表示されます

terminating_due_to_uncaught_exception

インターフェイスビルダーで何かを忘れているのか、それとも何を忘れているのかはわかりませんが、コードはコンパイルされます。

ViewTypeView は、変更しようとしているビューのコントローラー クラスです。

viewTypeView はクラスの名前です

   -(void)flipToTypeFromMain
{

    ViewTypeView * aTypeView = [[ViewTypeView alloc] initWithNibName:@"TypeView" bundle:nil];
    [self setViewTypeView:aTypeView];
    [aTypeView release];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2.0];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:window cache:YES];
    [viewController.view removeFromSuperview];

//Stops here    
[self.window addSubview:[viewTypeView view]];
    [UIView commitAnimations];
}
4

2 に答える 2

1

objc_exception_throw にブレークポイントを設定して、問題の原因を確認できます。これについては、こちらの「Breaking on Exceptions」セクションで説明しています: http://www.cocoadev.com/index.pl?DebuggingTechniques

これにより、例外が発生する原因となっているコールスタックを確認できます。

于 2009-09-28T21:49:00.473 に答える
0

あなたはあまり明確ではありませんでした。viewTypeView はクラス名ですか? 次のコード行:

[self.window addSubview:[viewTypeView view]];

viewTypeView というオブジェクトを示しています。それはどこかで定義されていますか、それともオブジェクトの代わりにクラス名を間違って使用していますか?

于 2009-09-28T22:14:10.500 に答える