1

问题

当用户触摸一个单元格时,应用程序由于 EXC_BAD_ACCESS 错误而崩溃。
这已经使应用程序崩溃了一段时间(可能从 iOS 8、7 甚至 6 开始)

碰撞

崩溃发生在 AQGridView.m 中

return ( (UIView *)imp(self, @selector(hitTest:withEvent:), point, event) );

return ( (UIView *)imp(self, @selector(hitTest:withEvent:), point, event));

在测试设备之间切换时似乎有时工作得很好(不清楚原因)
: [ iPhone6,另一个iPhone6和一个iPhone6+ ]


执行

AQGridView 设置为strong并在 XIB 文件中引用

@property (nonatomic, strong) IBOutlet AQGridView *gridView;

正在设置 DataSource 和 Delegate

self.gridView.delegate = self;
self.gridView.dataSource = self;

这曾经有效,但最近它一直在崩溃,而且也不一致......
目前尚不清楚,但我认为问题始于 iOS 7 或 8

尝试

  • 更新到最新的 AQGridView:: 似乎暂时修复了它,但是当再次触摸单元格时应用程序很快开始崩溃......
  • 更新了使用 AFNetworking 2.0 SDK 的代码::(认为问题与相邻的网络问题有关)没有修复...
  • 抓住稻草:: 也许细胞没有被正确保留(但这是在 ARC 中)所以使用一个数组来存储它们:没有修复...
4

1 回答 1

4

同样的问题在这里。在模拟器中,一切正常。在设备(iPad MiniiPad Air2)上,当在单元格上切换时,我的应用程序在代码的同一行崩溃。

当我更改 _basicHitTest 中的代码时,我可以修复它:

  - (UIView *) _basicHitTest: (CGPoint) point withEvent: (UIEvent *) event
{
    return [super hitTest:point withEvent:event];
}

但这不是在外国代码中修复它的最佳解决方案......我希望在这里找到解决方案:-) Simone

于 2015-12-08T12:00:51.037 回答