2011-12-26 53 views
0

我这里有一些代码:编程按钮

-(void)handleButton { 
    NSLog(@"hello"); 
} 

,我想是为连接功能,当我按下一个名为按钮出现,theButton 我知道,你可以链接的东西在接口程序员,但不让我使用功能,所以我如何做到这一点,所以我可以使用功能?

我试图用代码像这样的:

[theButton setTarget:self]; 
[theButton setAction:@selector(handleButton:)]; 

设置按钮来调用该函数,但是当我做到这一点给我,theButton未声明的错误,我知道这可能是愚蠢的,有一个简单的答案,但我不知道。

+0

我们可以看到更多的代码吗?你在哪里宣布巴顿? – MByD 2011-12-26 06:50:38

+0

我不认为我需要太多,因为它是在界面中...我不知道我怎么想,因为我命名为声明的按钮,我是新的客观的c。 – 2011-12-26 06:56:11

+0

您是否在.m文件中包含标题? – MByD 2011-12-26 07:42:32

回答

1

该方法没有参数,所以它的选择器将被指定为@selector(handleButton)。但是,这是不正确的。一个动作应该采取一个参数,发送者的ID:

-(IBAction)handleButton:(id)sender { 
    NSLog(@"hello"); 
} 

至于界面生成器,它让你设置的功能操作;这就是整个问题。如果没有IBAction,界面生成器不知道该方法应该是一个操作,所以它不会将其作为选项提供。

这两个问题都很好地说明了为什么你应该使用代码生成器,因为XCode会为你生成正确的签名。

+0

但我怎么会声明它,所以我可以将该按钮添加到该应用程序的代表? – 2011-12-26 08:43:29

+0

想通了! – 2011-12-26 08:55:12