2011-08-17 15 views
0

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

-(IBAction)abc; 


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

ありがとうございました!

+1

このコードにこのような問題はないと思うので、sigbartにつながる可能性があります。 – rptwsthi

+0

完全な例外を投稿できますか? – EmilioPelaez

+0

問題のコードは表示されません。 – SmallChess

答えて

0

アプリケーションでSIGBARTを見つけるには、デバッグツールを使用します。デバッグツールを使用して、この信号を受け取るアプリケーションの正確な場所を見つけることができます。 あなたのコードは正常に見える、多分あなたのBクラスファイルにいくつかの誤りがあるだろう

はおそらく触れたときに呼び出すためにボタンを割り当てられている方法は、例えば存在しない

0

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

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

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

必ず「MyMethodは」を作るには、あなたの実装ファイル(.mファイル)に存在し、あなたがボタンを追加した場合は(.hファイル)

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

} 

- (void) myMethod; 

@end 

... 

// Implementation file (.m) 

... 

- (void) myMethod 
{ 
    // do something 
} 
0

ヘッダファイル内のメソッド宣言を持っていますXIBでは、IBActionを使用してイベントを追加するのを忘れていたはずです。 Touch up insideタイプとバインドします。まだ動作しない場合は、デバッグしてチェックする必要があります。ボタンでは、実行中のプロシージャをクリックし、その時点でクラッシュします。

0

実際のIBActionを.mファイルに置きます。