我在 Objective C 中创建一个应用程序,当我在我的应用程序中按下按钮时收到运行时错误。这是创建按钮的代码。是的,在任何人询问之前,我必须使用编码版本。
extend = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //3
[extend setFrame:CGRectMake(100, 50, 75, 50 )];
[extend setTitle:@"Extend" forState:UIControlStateNormal];
[extend addTarget:self action:@selector(extendPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:extend];
[self.view bringSubviewToFront:extend];
retract = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //3
[retract setFrame:CGRectMake(100, 110, 75, 50 )];
[retract setTitle:@"Retract" forState:UIControlStateNormal];
[extend addTarget:self action:@selector(retractPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:retract];
[self.view bringSubviewToFront:retract];
这是 Action 。
- (IBAction)extendPressed:(UIButton *)sender{
NSLog(@"Extend");
}
- (IBAction)retractPressedPressed:(UIButton *)sender{
NSLog(@"Retract");
}
当我按下 Retract 按钮时,没有任何反应,但是当我按下 Extend 按钮时,应用程序崩溃并显示在调试控制台中:
2013-07-31 16:57:49.479 驱动器 3.0[1557:907] 扩展 2013-07-31 16:57:49.482 Drive 3.0[1557:907]-[driveViewController retractPressed:]: 无法识别的选择器发送到实例 0x1f564730 2013-07-31 16:57:49.483 Drive 3.0[1557:907] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[driveViewController retractPressed:]:无法识别的选择器发送到实例 0x1f564730” * 首先抛出调用栈: (0x33c9e3e7 0x3b999963 0x33ca1f31 0x33ca064d 0x33bf8208 0x35b98087 0x35b9803b 0x35b98015 0x35b978cb 0x35b97db9 0x35ac05f9 0x35 aad8e1 0x35aad1ef 0x377c55f7 0x377c5227 0x33c733e7 0x33c7338b 0x33c7220f 0x33be523d 0x33be50c9 0x377c433b 0x35b012b9 0x1a229 0x1 9f88) libc++abi.dylib:终止调用抛出异常
提前感谢任何能够提供帮助并告诉我我做错了什么的人。
最佳答案
你的方法名有错别字:
retractPressedPressed
应该只是:
retractPressed
关于ios - 在 Objective C 中为按钮调用操作时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980876/