UIKit:[UIViewController mutableChildViewControllers]崩溃了吗?

He *_*ing 21 crash xcode objective-c crash-reports ios

我最近收到了来自itunes connect的崩溃报告.实际上这是我从成千上万的用户那里得到的唯一崩溃报告.这是一台iPod4,1设备.有趣的部分是:

Date/Time:       2012-02-27 22:53:27.596 +0800
OS Version:      iPhone OS 5.0.1 (9A405)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x338958bf __exceptionPreprocess + 163
1   libobjc.A.dylib                 0x303891e5 objc_exception_throw + 33
2   UIKit                           0x31259749 -[UIViewController mutableChildViewControllers] + 1
3   UIKit                           0x31259349 -[UINavigationController pushViewController:animated:] + 37
4   MyApp                           0x000081e5 -[MyListController tableView:didSelectRowAtIndexPath:] (MyListController.m:207)
5   UIKit                           0x312d3565 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 945
6   UIKit                           0x3134bce7 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 159
Run Code Online (Sandbox Code Playgroud)

当选择表视图中的行并将新视图控制器推入导航时,似乎发生崩溃.根据我的代码,新的视图控制器已经创建,因此发生了崩溃UINavigationController.

它看起来不像我写的代码的错误.我想知道我是否正确?我该如何调试此问题?

Noa*_*oah -1

我得到了它!我也遇到了同样的问题,在您的代码中,看起来好像按下了一个按钮,这导致了崩溃!

Last Exception Backtrace:
0   CoreFoundation                  0x338958bf __exceptionPreprocess + 163
1   libobjc.A.dylib                 0x303891e5 objc_exception_throw + 33
2   UIKit                           0x31259749 -[UIViewController mutableChildViewControllers] + 1
3   UIKit                           0x31259349 -[UINavigationController pushViewController:animated:] + 37
4   MyApp                           0x000081e5 -[MyListController tableView:didSelectRowAtIndexPath:] (MyListController.m:207)
5   UIKit                           0x312d3565 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 945
6   UIKit                           0x3134bce7 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 159
Run Code Online (Sandbox Code Playgroud)

这是我的建议:

解决 SIGABRT 的两件事:

1) SIGABRT 是由于未捕获的运行时异常而发生的。发生这种情况时,会有一些信息写入调试器控制台或设备控制台,解释异常的确切原因。您还没有向我们展示这段文字。它开始“由于......而终止应用程序”

向我们展示该文本。

2) 如果您在调试器中运行应用程序并在异常抛出函数上设置断点,则应用程序将在抛出异常时停止,这通常足以解决问题。转到调试器断点窗格,左下角有一个控件,单击该控件即可设置异常断点。

  • 嗯...恐怕你误读了我的问题。崩溃报告是从 iTunes connect 检索的,并且是原样的。没有控制台访问权限,否则我会看到更多信息。我不得不说,没有涉及任何按钮,这是一个列表视图和一个单元格。您提到您遇到了类似的问题,但您没有具体说明如何解决该问题。 (2认同)