我正在创建 aUIGestureRecognizer
并将其目标设置为 parent UIViewController
。Xcode 警告我动作选择器未声明。
UITapGestureRecognizer *tapTest = [[UITapGestureRecognizer alloc] initWithTarget:self.traverseResponderChainforUIViewController action:@selector(handleTap:)];
Warning: Undeclared selector 'handleTap:'
可能还值得记录一下我的traverseResponderChainforUIViewController
方法返回 id (尽管实现最终应该返回一些东西isKindOfClass:[UIViewController class] or nil
):
- (id)traverseResponderChainforUIViewController;
最后......这在运行时完美运行,因为选择器实际上是在目标UIViewController
对象中声明的。
- (void)handleTap:(UIGestureRecognizer *)recognizer
{
NSLog(@"%@", recognizer.description);
}
我该怎么做才能让编译器在这里开心?
我不想改变我的程序的架构(从视图发送到视图控制器的操作),但是我做错了(TM)还是我只是错过了一个完全正确实现的步骤?