因此,我一直在尝试从其他用户那里获得帮助,但是我们永远无法取得任何进展,我的语法和代码看起来不错,但是无论如何在尝试调用按钮的方法时都无法摆脱“过分的标识符”错误。我开始认为这是全球性问题,而不是全球性问题。这是我的代码和我的错误
UIButton *add = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[add addTarget:self
action:@selector(aMethod:)forControlEvents:UIControlEventTouchDown];
[add setTitle:@"add new" forState:UIControlStateNormal];
add.frame = CGRectMake(100, 100, 100, 100);
[self.view addSubview:add];
- (void) aMethod:(id)sender
{
button[0].backgroundColor = [UIColor greenColor];
}
这是我ViewController.m文件中该按钮的所有代码...我有1条警告和1条错误。我的警告是
“未找到“ aMethod”的方法定义”
这个错误被标记在我的代码顶部附近的“ @implementation ViewController”行下。
我的错误是
使用未声明的标识符“ aMethod”
这被标记在我的“-(void)aMethod:(id)sender”下
我在ViewController.H文件中有这个
- (void)aMethod;
之前没有尝试过。.在此之前,我一直试图获得帮助,并且不断获得与编程语法有关的提示和编辑,但是没有任何问题,我无法摆脱这些错误。还有什么可能是错误的吗?看看我的程序的其余部分会有所帮助吗?另外还有一条可能有用的信息。我的整个程序是在xcode设置了我的第一行代码之后编写的,
- (void)viewDidLoad
{
//my entire program is between these brackets.
}
当我在“ viewdidload”之前尝试此代码“-(void)aMethod:(id)sender {}”时,我没有收到错误。但是当我把它放在“-(void)aMethod:(id)sender {}”之后时,我得到了错误。当我想弄清楚哪里出了问题时,我发现了这一点。让我知道是否需要更多信息。顺便说一句,我正在尝试以编程方式完成所有操作,而无需使用情节提要...非常感谢!!
最佳答案
"method definition for 'aMethod' not found"
不是指您的按钮,而是您在标头中定义了方法aMethod
的事实,但尚未在实现中实现它,因为您改为使用-(void)aMethod:(id)sender;
编辑:
您的代码应如下所示:
-(void)viewDidLoad {
[super viewDidLoad];
UIButton *add = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[add addTarget:self action:@selector(aMethod:)forControlEvents:UIControlEventTouchDown];
[add setTitle:@"add new" forState:UIControlStateNormal];
add.frame = CGRectMake(100, 100, 100, 100);
[self.view addSubview:add];
}
- (void) aMethod:(id)sender {
button[0].backgroundColor = [UIColor greenColor];
}
关于ios - UIButton问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21975020/