8

我通常不想寻求SO帮助来理解我的崩溃报告,但是(a)我可以从这里的专家那里学到很多关于阅读崩溃报告的知识,并且(b)我意识到我对导航不太了解像我希望的那样流动(这部分是我认为下面的崩溃报告特有的)。

所以我希望有人遇到过同样的问题,可以帮助我理解为什么我的应用程序崩溃了。

它有时只会崩溃,这让我无法理解为什么它是间歇性的。但是,当它崩溃时,它会在同一个地方崩溃,并具有相同的堆栈跟踪(如下所示)。

现在我看到它在 cmdPressed 中崩溃了(这个方法中有很多代码),但是我很难理解比这更深的东西。

通过阅读下面的崩溃报告,是否有人对我的应用程序崩溃的原因有任何建议???为什么它可能不一致?

Thread 0 Crashed:
0   libobjc.A.dylib                     0x344dd5aa _objc_msgSend + 10
1   UIKit                               0x3374458d -[UIViewController loadViewIfRequired] + 365
2   UIKit                               0x33799133 -[UIViewController contentScrollView] + 27
3   UIKit                               0x33799079 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 29
4   UIKit                               0x33798f5d -[UINavigationController _layoutViewController:] + 33
5   UIKit                               0x33798e81 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 273
6   UIKit                               0x337985c1 -[UINavigationController _startTransition:fromViewController:toViewController:] + 65
7   UIKit                               0x337984a9 -[UINavigationController _startDeferredTransitionIfNeeded:] + 325
8   UIKit                               0x337e54b1 -[UINavigationController defaultFirstResponder] + 129
9   UIKit                               0x33797849 -[UIResponder(Internal) _deepestDefaultFirstResponder] + 25
10  UIKit                               0x337976fb -[UIResponder(Internal) _promoteDeepestDefaultFirstResponder] + 31
11  UIKit                               0x33813349 -[UIWindowController transitionViewDidStart:] + 81
12  UIKit                               0x337bf8db -[UITransitionView transition:fromView:toView:removeFromView:] + 991
13  UIKit                               0x33a00059 __91-[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:]_block_invoke_0236 + 389
14  UIKit                               0x33812961 -[UIWindowController transition:fromViewController:toViewController:target:didEndSelector:] + 4761
15  UIKit                               0x33810fc7 -[UIViewController presentViewController:withTransition:completion:] + 3395
16  UIKit                               0x33933257 -[UIViewController presentModalViewController:animated:] + 31
17  MyApp                               0x00044973 -[AppViewController cmdPressed] (AppViewController.mm:553)
18  UIKit                               0x338100a5 -[UIApplication sendAction:to:from:forEvent:] + 73
19  UIKit                               0x33810057 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 31
20  UIKit                               0x33810035 -[UIControl sendAction:to:forEvent:] + 45
21  UIKit                               0x3380f8eb -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 503
22  UIKit                               0x3380fde1 -[UIControl touchesEnded:withEvent:] + 489
23  UIKit                               0x337385f1 -[UIWindow _sendTouchesForEvent:] + 525
24  UIKit                               0x33725801 -[UIApplication sendEvent:] + 381
25  UIKit                               0x3372511b _UIApplicationHandleEvent + 6155
26  GraphicsServices                    0x389085a3 _PurpleEventCallback + 591
27  GraphicsServices                    0x389081d3 PurpleEventCallback + 35
28  CoreFoundation                      0x3a5c8173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
29  CoreFoundation                      0x3a5c8117 __CFRunLoopDoSource1 + 139
30  CoreFoundation                      0x3a5c6f99 __CFRunLoopRun + 1385
31  CoreFoundation                      0x3a539ebd _CFRunLoopRunSpecific + 357
32  CoreFoundation                      0x3a539d49 _CFRunLoopRunInMode + 105
33  GraphicsServices                    0x389072eb _GSEventRunModal + 75
34  UIKit                               0x337792f9 _UIApplicationMain + 1121
35  MyApp                               0x0003d083 main (main.m:44)

任何意见是极大的赞赏。谢谢!!!

4

3 回答 3

1

我知道这已经晚了,我也不确定这是否能解决你的问题。但是当我遇到这个问题(与 loadViewIfRequired 相关)并且遇到了很多困难时,因为在我的情况下它也只是有时会崩溃。我从我的 tableview 控制器类之外调用[UITableViewController tableView] ,该类在加载 tableview 之前被调用。由于我的 tableView 没有正确加载,所以我的 UITableViewController 类试图调用loadViewIfRequired API,并且在其他线程(不在主线程中)调用 ViewDidLoad。我通过在我的 tableviewcontroller 被加载之前不调用[UITableViewController tableView]来解决这个问题,我也在主线程中加载了它,这解决了我的问题。

于 2015-01-26T22:10:29.613 回答
0

我遇到了同样的问题。对我来说,问题是我更改了xib文件但忘记连接所有以前的插座。

于 2017-07-06T11:43:28.577 回答
-4

尝试添加此方法。希望这会帮助你。

-(void)setView:(UIView*)view
{
    if(view != nil )
[super setView:view];
    else

        NSLog(@"Memory");
}
于 2014-07-29T09:35:01.120 回答