Iphone 应用程序在按钮的方法调用时崩溃

Iphone 应用程序在按钮的方法调用时崩溃,iphone,ios,objective-c,uibutton,Iphone,Ios,Objective C,Uibutton,当我点击按钮时,我的应用程序崩溃了。这是我的代码 [btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside]; -(void)btnClicked { } 感谢您的帮助。您的选择器以冒号(:)结尾。这意味着该方法有一个参数。移除冒号: @selector(btnClicked) 或将参数添加到方法声明中: - (void)btnClicked:(id)s

当我点击按钮时,我的应用程序崩溃了。这是我的代码

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];    
-(void)btnClicked
{
}

感谢您的帮助。

您的选择器以冒号(:)结尾。这意味着该方法有一个参数。移除冒号:

@selector(btnClicked)
或将参数添加到方法声明中:

- (void)btnClicked:(id)sender {}

选择器以冒号(:)结尾。这意味着该方法有一个参数。移除冒号:

@selector(btnClicked)
或将参数添加到方法声明中:

- (void)btnClicked:(id)sender {}

更改代码并尝试此操作

[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];

更改代码并尝试此操作

[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];

您的代码中有错误:

如果您这样做:

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
那么你的方法应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
如果您这样做:

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
那么你的方法应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];

您的代码中有错误:

如果您这样做:

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
那么你的方法应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
如果您这样做:

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
那么你的方法应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
取下结肠

应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
因为您使用的是btnClicked,所以需要使用

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
将方法更改为此

- (void)btnClicked:(UIButton*)sender
{
}
取下结肠

应该是这样的:

-(void)buttonCliked:(id)sender{}
-(void)buttonCliked{}
[btn setTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];
因为您使用的是btnClicked,所以需要使用

[btn setTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
将方法更改为此

- (void)btnClicked:(UIButton*)sender
{
}

谢谢,这很有效。你给了我第一个答复,所以我会接受你的回答。谢谢你的回答。你给了第一个答复,所以我将接受你的答复