为什么UIButton可以向私有方法发送消息?

时间:2014-11-09 13:11:09

标签: ios objective-c uibutton

在iOS编程一书中的第一个案例:The Big Nerd Ranch Guide,他们只在- (IBAction)showQuestion:(id)sender之间实现了一个方法@implementation @end,但没有在@interface @end中声明它.h文件。据我所知,如果您不在@interface @end中声明方法,则无法从外部访问该方法。但事实是,UIButton确实向控制器实例发送了消息,这使我感到困惑。我对私人方法有错误的想法吗?

1 个答案:

答案 0 :(得分:3)

InterfaceBuilder查找所有源文件,标头和实现,以查找IBOutlets和IBActions。私有与否,它会看到所有声明的方法,因此您可以将它们连接到接口组件。在运行时,所有方法都是相同的,因此按钮可以调用私有方法。