【问题标题】:Crash UIScrollView EXC_BAD_ACCESS崩溃 UIScrollView EXC_BAD_ACCESS
【发布时间】:2013-03-24 18:45:57
【问题描述】:

我无法使用 UIScrollView 诊断崩溃

UIKit
-[UIScrollView setContentOffset:]

异常类型:EXC_BAD_ACCESS 代码 KERN_INVALID_ADDRESS 位于 0xe0000008

com.apple.main-thread Crashed
0    libobjc.A.dylib     objc_msgSend + 15
1    UIKit   -[UIScrollView setContentOffset:] + 618
2    UIKit   -[UITableView setContentOffset:] + 330
3    UIKit   -[UIScrollView(Static) _adjustContentOffsetIfNecessary] + 1474
4    UIKit   -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:tramplingDragFlags:] + 414
5    UIKit   -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:] + 30
6    UIKit   -[UIScrollView removeFromSuperview] + 30
7 ...    UIKit   -[UIView dealloc] + 296
8    UIKit   -[UIView dealloc] + 296
9    libobjc.A.dylib     (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 168
10   CoreFoundation  _CFAutoreleasePoolPop + 16
11   CoreFoundation  __CFRunLoopRun + 1296
12   CoreFoundation  CFRunLoopRunSpecific + 356
13   CoreFoundation  CFRunLoopRunInMode + 104
14   GraphicsServices    GSEventRunModal + 74
15   UIKit   UIApplicationMain + 1120
16   iTV Shows  main.m line 12

【问题讨论】:

  • 我的精神力量让我失望了,所以我看不到你的代码来尝试确定问题。
  • 我会给你看代码,但我不知道它发生在哪里。只有来自 UIKit、CoreFoundation 的调用,但没有来自代码的调用...
  • 您似乎没有使用 ARC,并且您正在过度释放自动释放的对象。
  • 我确实使用 ARC。如果我没有更多信息,我很抱歉,这是我从 crashlytics 获得的崩溃报告。我什至不知道如何重现它。我只是觉得值得一试。 :)
  • 运气好能解决这个问题吗?认为我遇到了同样的问题。

标签: ios cocoa uiscrollview uikit exc-bad-access


【解决方案1】:

我遇到了同样的问题。在dealloc 方法中将TableViewScrollView 委托(或您可能拥有的任何其他委托)设置为nil 解决了这个问题。

- (void)dealloc {
    self.tableView.delegate = nil;
    self.tableView.dataSource = nil;
}

【讨论】:

    【解决方案2】:

    如果没有看到您的代码,很难给出具体的答案,但iOS Debugging Magic 技术说明始终是一个很好的资源,其中包含调试崩溃的提示。

    Technical Note TN2239: iOS Debugging Magic

    【讨论】:

      猜你喜欢
      • 2011-04-10
      • 2012-06-21
      • 2010-11-18
      • 2013-01-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多