Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UIButton addTarget:从另一个类调用方法_Objective C_Class_Methods_Uibutton - Fatal编程技术网

Objective c UIButton addTarget:从另一个类调用方法

Objective c UIButton addTarget:从另一个类调用方法,objective-c,class,methods,uibutton,Objective C,Class,Methods,Uibutton,代码下面的想法是在两个类之间进行交互。按下按钮时,我想打印另一个类中的语句。 当我按下按钮时,我无法打印“测试” 按钮class.m: HjulGenkendelse *hjulRecognizer = [[HjulGenkendelse alloc] init]; [knap addTarget:hjulRecognizer action:@selector(hjul:) forControlEvents:UIControlEventTouchUpInside]; HjulGenk

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

按钮class.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!");
}
有人能解决我的问题吗


提前感谢:)

问题可能在这里:

HjulGenkendelse *hjulRecognizer;
[knap addTarget:hjulRecognizer action:@selector(hjul:) forControlEvents:UIControlEventTouchUpInside];
在第一行中,您正在声明一个对象。但实际上并不是在创建对象。因此,如果您使用的是ARC,则可以将其初始化为
nil
。然后添加
nil
作为操作的目标。因为它没有目标,所以无法发送操作。(严格来说这不是真的,但您应该查找无目标操作和响应者链以了解原因)

修复方法是简单地实例化一个对象作为操作的目标。将第一行更改为

HjulGenkendelse *hjulRecognizer = [[HjulGenkendelse alloc] init];
如果init不适合HjulGenkendelse类,请使用任何合适的初始化器