【问题标题】:UIButton addTarget: Call a method from another classUIButton addTarget:调用另一个类的方法
【发布时间】:2012-11-13 02:31:51
【问题描述】:

代码下面的想法是在两个类之间进行交互。按下按钮时,我想在另一个类中打印一条语句。 当我按下按钮时,我无法打印“测试”。

Buttonclass.m:

 HjulGenkendelse *hjulRecognizer = [[HjulGenkendelse alloc] init];
    [knap addTarget:hjulRecognizer action:@selector(hjul:) forControlEvents:UIControlEventTouchUpInside];

HjulGenkendelse.h

 @interface HjulGenkendelse : UIGestureRecognizer
 - (void)hjul:(UIButton *) sender;

HjulGenkendelse.m

- (void)hjul:(UIButton *) sender
{
  NSLog(@"Test!");
}

有人可以解决我的问题吗?

提前致谢:)

【问题讨论】:

    标签: objective-c class methods uibutton


    【解决方案1】:

    问题很可能出在这里:

    HjulGenkendelse *hjulRecognizer;
    [knap addTarget:hjulRecognizer action:@selector(hjul:) forControlEvents:UIControlEventTouchUpInside];
    

    在第一行你声明了一个对象。但是您实际上并没有创建对象。因此,如果您使用 ARC,将其初始化为 nil 很有帮助。然后,您将添加 nil 作为操作的目标。因为它没有目标,所以没有发送操作。 (严格来说这并不正确,但您应该查看以 Nil 为目标的操作和响应者链以了解原因)。

    解决方法是简单地将对象实例化为操作的目标。将第一行改为

    HjulGenkendelse *hjulRecognizer = [[HjulGenkendelse alloc] init];
    

    如果 init 不适合 HjulGenkendelse 类,请使用任何合适的初始化器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-02
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多