p>[add-addTarget:sel-action:@selector(addition:)
我正在视图中以编程方式创建两个按钮。两个选择器方法都存在,但它仍然抛出"无法识别的选择器"错误。我读到一些关于检查僵尸的文章。但我激活了它(xcode 4.2),没有看到任何僵尸。这是代码。。
- (void)viewDidLoad
{
for(int i = 0; i < [list count]; i++){
... if statement checks to add text fields
}
UIButton *submit = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[submit addTarget:self action:@selector(submission:)
forControlEvents:UIControlEventTouchUpInside];
[submit setTitle:@"Submit" forState:UIControlStateNormal];
submit.frame = CGRectMake(x+ 170.0, y, 72, 37);
UIButton *addition = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[addition addTarget:self action:@selector(addition:)
forControlEvents:UIControlEventTouchUpInside];
[addition setTitle:@"Additional Mission" forState:UIControlStateNormal];
addition.frame = CGRectMake(x, y, 140, 37);
y = y+90;
[inputsView addSubview:submit];
[inputsView addSubview:addition];
[inputsView setScrollEnabled:YES];
[inputsView setContentSize:CGSizeMake(320, y)];
}
- (void)submission{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Submission Complete" message:@"Submission"
delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[alert show];
}
-(void)addition{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Creating Additional Mission" message:@"Additional Mission"
delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[alert show];
}
有一点需要注意。。inputsView是我的视图控制器中的一个UIScrollView。
提前谢谢。
从选择器方法中删除冒号
[submit addTarget:self action:@selector(submission)
[addition addTarget:self action:@selector(addition)
冒号告诉选择器此方法接受参数,而您的方法不接受参数,因此冒号不应是选择器的一部分
在这一行中,您说选择器@selector(addition:)
需要一个在添加后为冒号的参数但在你的真实方法
-(void)addition{
添加后没有参数。。这就是发生车祸的原因。。删除提交和添加中的冒号,就可以开始了。