Objective c UIButton addTarget:从另一个类调用方法
代码下面的想法是在两个类之间进行交互。按下按钮时,我想打印另一个类中的语句。 当我按下按钮时,我无法打印“测试” 按钮class.m: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
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类,请使用任何合适的初始化器