UISwipeGestureRecognizer会抛出EXC_BAD_ACCESS

时间:2013-03-18 17:39:25

标签: ios uigesturerecognizer exc-bad-access uiswipegesturerecognizer unrecognized-selector

我认为我正在使用XIB文件进行设计,并且正常编写一个继承自UIView的常规类。我需要在视图中添加滑动功能。首先,是的,我启用了用户互动,在IB和viewDidLoad方法中都启用了self.view.userInteractionEnabled = YES;以防万一覆盖IB。

我在viewDidLoad方法中以这种方式创建我的滑动手势识别器:

UISwipeGestureRecognizer *swiper = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swiped:)];
[self.view addGestureRecognizer:swiper];

我有:

- (void)swiped:(UISwipeGestureRecognizer*)sender {
    self.swipeAction();    
}

当我运行我的应用并执行滑动手势时,我收到一个EXC_BAD_ACCESS错误:

error

有趣的是,我在self.swipeAction();行上有一个断点,甚至没有被击中。我立刻得到了这个错误。有时我只是得到错误的访问错误,有时我会得到非常奇怪的错误,例如:

-[UIViewAnimationState swiped:]: unrecognized selector sent to instance 0x96263f0

您也可以将UIViewAnimationState替换为NSString,因为我也看到了{{1}}。当我在输出中得到它时,我得到SIGABRT而不是EXC_BAD_ACCESS。什么可能导致这种行为?我也试过在IB上创建一个手势识别器,结果相同。

这种行为是完全不确定的;我尝试两次完全相同的事情,一旦我获得了不好的访问,然后直接在它之后,在第二次运行中,我得到一个sigabrt。

有什么基础我不见了吗?或者它是否是其他地方严重的内存泄漏的指示器(仅在轻扫手势识别器和其他地方痴迷地表现出来)?尝试使用模拟器上的不同iOS版本的模拟器和真实设备。没有运气,都一样。

谢谢,

可以。

0 个答案:

没有答案
相关问题