Objective c uiresponder子类中的touchesStart被忽略

Objective c uiresponder子类中的touchesStart被忽略,objective-c,ios,uiresponder,Objective C,Ios,Uiresponder,使用目标c和xcode开发ios应用程序。我有一个从另一个从UIResponder继承的类继承的类,它包含一个视图。我在子类中有一个touchesStart,但是只有在调试/开发模式下运行应用程序时才会调用该事件。当我制作制作/发布构建时,触摸事件不会被调用 // Basic viewcontroller protocol @protocol SubViewController - (void)viewDidAppear:(BOOL)animated; - (void)viewD

使用目标c和xcode开发ios应用程序。我有一个从另一个从UIResponder继承的类继承的类,它包含一个视图。我在子类中有一个touchesStart,但是只有在调试/开发模式下运行应用程序时才会调用该事件。当我制作制作/发布构建时,触摸事件不会被调用

// Basic viewcontroller protocol
@protocol SubViewController
    - (void)viewDidAppear:(BOOL)animated;
    - (void)viewDidDisappear:(BOOL)animated;
    - (void)viewWillAppear:(BOOL)animated;
    - (void)viewWillDisappear:(BOOL)animated;
    - (void)viewDidLoad;
    -(UIView *)view;
@end


@interface SubViewController : UIResponder<SubViewController> {
}

/////////////////////////////////////////////////////////////////////////////////


// A custom subview controller
//

@interface mySubViewController : SubViewController {

}
现在,正如我所说,在调试中运行这个是可以的,但是在发布中忽略了touch事件。任何有助于澄清这一点的提示、想法或问题,请说。提前谢谢


编辑:我在文档中看到了这一点:“如果您在不调用super(一种常用模式)的情况下重写此方法,那么您还必须重写处理触摸事件的其他方法,如果只是作为存根(empy)实现。”因此,我插入了所有其他触摸事件,但在发布构建时没有任何更改,因为您没有子类化
UIViewController
(它会自动执行此操作),您需要手动将响应者添加到响应者链中


UIViewController
在响应程序链中的位置位于其视图和视图的superview之间,因此要获得相同的行为,您需要覆盖视图和管理它的控制器中的
nextResponder
。视图应返回控制器,控制器应返回视图的superview。

您没有子类化
UIViewController
(已从
UIResponder
继承)的任何特定原因?我怀疑您的自定义
UIResponder
子类没有正确地添加到响应器链中。嗯,如何检查子类是否添加到响应器链中?或者正确的添加方式是什么?我确信不将uiviewcontroller子类化是有原因的,但我现在想不起来了,这是很久以前写的。参见文档中的第3段。基本上,您需要覆盖您正在管理的视图和“视图控制器”中的
nextResponder
。视图将返回视图控制器,视图控制器将返回视图的superview。我将对此进行一次尝试,然后返回到u。你知道为什么它在调试的时候会工作吗?没错,干杯。那里发生了一些奇怪的事情。现在是响应链的一部分。你想这样做作为回答,否则我可以接受
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
   //some code and magic
}