0

私はiPhone用の開発に非常に慣れていません。基本的なアプリケーションを作成しようとしましたが、SIGABRTエラーが表示されます。シミュレーターのボタンを押すと、ゲームがクラッシュし、SIGABRTエラーが表示されます。NSInvalidArgumentExceptionです。ボタンのコードは次のとおりです。.hファイル:

-(IBAction)abc;


-(IBAction)abc {
    b *aaa = [[b alloc] initWithNibName:@"b" bundle:nil];
    [self presentModalViewController:aaa animated:NO];
    [aaa release];
}

どうもありがとうございます!

4

4 に答える 4

0

XIB にボタンを追加した場合は、IBAction を使用してそのイベントを追加するのを忘れている必要があります。タッチアップインサイドタイプで綴じます。それでも問題が解決しない場合は、デバッグして確認する必要があります。ボタンをクリックすると、実行中の手順とクラッシュするポイントが表示されます。

于 2011-08-17T08:30:01.750 に答える
0

アプリケーションで SIGBART を見つける最良の方法は、このシグナルを取得するアプリケーションの正確な場所を見つけることができるデバッグ ツールを使用することです。あなたのコードは問題ないように見えます.bクラスファイルにエラーがあるかもしれません.

それが役に立てば幸い....

于 2011-08-17T04:23:07.500 に答える
0

おそらく、ボタンに触れたときに呼び出すように割り当てたメソッドが存在しない可能性があります。

UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 25)];

[myButton addTarget:self action:@selector(myMethod) forControlEvents:UIControlEventTouchUpInside];

実装ファイル (.m ファイル) に "myMethod" が存在し、ヘッダー ファイル (.h ファイル) にメソッド宣言があることを確認してください。

// Header file (.h)
@interface myClass
{

}

- (void) myMethod;

@end

... 

// Implementation file (.m)

...

- (void) myMethod
{
    // do something
}
于 2011-08-17T04:43:29.190 に答える
0

実際の IBAction を .m ファイルに入れます。

于 2015-06-24T16:24:53.937 に答える