2011-08-17 45 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來添加它的事件。並將其綁定到內部類型中。如果仍然不工作,則需要進行調試和檢查,在Button上單擊您正在執行的過程以及它在哪一點崩潰。

0

您將真正的IBAction放在.m文件中。