代码下面的想法是在两个类之间进行交互。按下按钮时,我想在另一个类中打印一个语句。 当我按下按钮时,我无法打印“测试”。
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!");
}
有人对我的问题有任何解决方案吗?
感谢提前:)
答案 0 :(得分:3)
问题很可能就在这里:
HjulGenkendelse *hjulRecognizer;
[knap addTarget:hjulRecognizer action:@selector(hjul:) forControlEvents:UIControlEventTouchUpInside];
在第一行中,您声明了一个对象。但你实际上并没有创建对象。因此,如果您使用ARC,则可以将其初始化为nil
。然后,您将nil
添加为操作的目标。因为它没有目标,所以不会发送操作。 (这不是严格意义上的,但您应该查找Nil目标操作和响应者链以了解原因)。
修复是简单地将对象实例化为操作的目标。将第一行更改为
HjulGenkendelse *hjulRecognizer = [[HjulGenkendelse alloc] init];
如果init不适合HjulGenkendelse类,请使用适当的初始化器。