1

コードを実行しようとしても、デバッグ コンソールで SIGABRT メッセージが表示されてクラッシュまたは終了する

- (IBAction)backButtonPushed:(id)sender {

    ViewController *backView = [backView initWithNibName:nil bundle:NULL];
    backView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:backView animated:YES];
}
4

1 に答える 1

1

このコード行で何をしようとしているのかわかりませんが、それでも間違っています:

ViewController *backView = [backView initWithNibName:nil bundle:NULL]; 

あなたのクラッシュは、backView が nil であるという観点からのその行が原因である可能性が最も高いです (モーダル ビュー コントローラーとして表示しようとすると、クラッシュは 2 行後に発生します)。正しく初期化されていません。

あなたが本当にする必要があるのは、次の行に沿ったものです(対応するインターフェースファイル、別名「nib」があると仮定します):

ViewController *backView = [[ViewController alloc] initWithNibName:@"<your controller's nib name here>" bundle:NULL]; 

または、プログラムで ViewController を完全に作成している場合は、次を使用します。

ViewController *backView = [[ViewController alloc] init];

または、定義した初期化方法。

于 2012-05-16T02:20:16.523 に答える