4

我在带有后退按钮的导航视图中呈现模式表视图。后退按钮向模态视图的委托发送消息以关闭模态视图。如果我滚动表格视图,然后在表格视图仍在滚动时点击导航栏上的后退按钮,应用程序将崩溃并显示以下消息:

*** -[UILayoutContainerView setUseFastMode:]: message sent to deallocated instance 0xef74650

当我 PO 0xef74650 我得到这个:

(int) $1 = 251086416 [no Objective-C description available]

以前有人经历过吗?什么是解决方法或修复?

4

6 回答 6

8

我相信这是 iOS 5.1 中的一个错误,在动画解除当前正在滚动的模式时会发生。我收到用户报告说我的应用程序崩溃了,当我调查时我遇到了同样的错误。

我用最少的代码/视图创建了一个新项目,并且能够重现这个崩溃。到目前为止,我发现的唯一解决方法是在关闭模式时禁用动画。我已经向 Apple 提交了错误报告。

于 2012-04-24T23:10:11.720 回答
3

我有一个类似的问题,如果表格仍在滚动,我的应用程序会崩溃,并且我触发了一个模式视图以显示在表格上方。我的实例中发生了崩溃cellForRowAtIndexPath,indexPath 已被释放。

我通过停止滚动方法来修复它viewWillDisappear: -

- (void) viewWillDisappear:(BOOL)animated {
    [self.tableView setContentOffset:self.tableView.contentOffset animated:NO];
}

希望这可以帮助研究相关问题的人!

于 2013-01-22T14:26:57.090 回答
1

iOS 5 在 UIView 上的 FastModeAdditions 类别中有一个错误。如果您有一个滚动视图的子视图,该子视图在与模态视图控制器被解除的相同运行循环中滚动,则会出现此错误。

    Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xa0000008
Crashed Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x34bdef78 objc_msgSend + 16
1   UIKit                           0x35309f9e -[UIView(FastModeAdditions) _setContainerLayoutViewForFastMode:] + 98
2   UIKit                           0x351701cc -[UIView dealloc] + 568
3   UIKit                           0x3545a39e -[UIDropShadowView dealloc] + 86
4   libobjc.A.dylib                 0x34be016e _objc_rootRelease + 30
5   CoreFoundation                  0x32b882e0 CFRelease + 88

我们发现最好的解决方法是执行Selector:afterDelay: 解雇。这会强制在以后的运行循环中解除,并且不再发生崩溃。

这在 iOS 6 上不会发生。

于 2012-09-14T06:57:04.797 回答
0

检查setUseFastMode:以确保您没有发布您稍后尝试访问的内容。

[someObject release];
于 2012-04-13T23:43:59.230 回答
0

当我点击模态框内的一个按钮时,我正在关闭一个模态框,如果它的表格仍在滚动,则会出现此崩溃。这是不正确的:在将关闭代码移动到呈现视图控制器并将其作为委托方法的一部分调用后,不再发生崩溃。

于 2012-10-22T15:26:42.227 回答
0

这对我有用:

NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0]
[self.tblChildProducts scrollToRowAtIndexPath:myIP atScrollPosition:UITableViewScrollPositionTop animated:NO]
[self dismissModalViewControllerAnimated:YES]

@Slee 2012 年5 月 24 日 11:18

于 2016-08-24T01:54:07.143 回答