【问题标题】:AQGridView EXC_BAD_ACCESS _basicHitTest:withEvent:AQGridView EXC_BAD_ACCESS _basicHitTest:withEvent:
【发布时间】:2015-12-07 22:44:36
【问题描述】:

问题

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

崩溃

崩溃发生在 AQGridView.m
这里:

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 中)所以使用数组来存储它们:No Fix...

【问题讨论】:

    标签: ios objective-c iphone exc-bad-access aqgridview


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 这似乎已经解决了!内联注释确实解释了此修复程序可能无法正常工作,但有趣的是它很好。也许 Apple 更改了代码以便它现在可以工作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多