目标c中的按钮崩溃程序

时间:2013-02-10 02:53:06

标签: objective-c uibutton

我正在尝试在目标c中创建一个简单的按钮,文本字段,标签程序,我遇到按钮问题。

在文件viewController.m中,我有以下代码:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown];

[button setTitle:@"Look up" forState:UIControlStateNormal];
button.frame = CGRectMake(20,108,97,37);
[self.view addSubview:button];

- (IBAction) buttonPressed:(id) sender  {
[_textField resignFirstResponder];
_label.text = textField.text;
}

根据我的理解,该按钮应该在我单击此按钮后取出文本框中的内容并将其放入标签中。但是,按下按钮会在返回线上显示main.m。它说程序暂停了。如果我再次尝试使用该程序,它就行不通。我已经与其他代码在线交叉检查了这个按钮片段,并且无法弄清楚为什么我的失败。

1 个答案:

答案 0 :(得分:1)

你错过了这一行的冒号

[button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchDown];

您的按钮正在调用一个不存在的方法,这就是它崩溃的原因。

应该是

[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];

或者......从

更改buttonPressed方法的签名
- (IBAction) buttonPressed:(id) sender;

    - (IBAction) buttonPressed;

您应该在日志中看到一条消息,例如

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ViewController buttonPressed]: unrecognized selector sent to instance