0

我知道已经有一个关于这个的问题,但是提供的答案并没有解决我的问题。

首先,我有 3 个三个 segues 指向 3 个不同的视图控制器并来自AMSlideMenuLeftTableViewController类。我创建的第一个 segue 和视图控制器是作为第一个视图出现的视图(在应用程序加载时显示的视图)。

但是,由于我删除了第一个视图,我的应用程序在打开后立即崩溃。

这是崩溃日志:

2014-09-02 17:17:56.200 App[3174:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<MenuViewController>: 0x10db0da10>) has no segue with identifier 'rightMenu''
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000100433495 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x00000001030f499e objc_exception_throw + 43
2   UIKit                               0x0000000101d99515 -[UIViewController shouldPerformSegueWithIdentifier:sender:] + 0
3   App                        0x000000010002d67f -[AMSlideMenuMainViewController setup] + 1071
4   App                        0x000000010002aae1 -[AMSlideMenuMainViewController viewDidLoad] + 353
5   App                        0x00000001000915e6 -[MenuViewController viewDidLoad] + 54
6   UIKit                               0x0000000101d9759e -[UIViewController loadViewIfRequired] + 562
7   UIKit                               0x0000000101d97777 -[UIViewController view] + 29
8   UIKit                               0x00000001020a22e2 -[UIClientRotationContext initWithClient:toOrientation:duration:andWindow:] + 390
9   UIKit                               0x0000000101cddffa -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:isRotating:] + 1109
10  UIKit                               0x0000000101cddb9f -[UIWindow _setRotatableClient:toOrientation:updateStatusBar:duration:force:] + 36
11  UIKit                               0x0000000101cddaef -[UIWindow _setRotatableViewOrientation:updateStatusBar:duration:force:] + 101
12  UIKit                               0x0000000101cdcdfe -[UIWindow _updateToInterfaceOrientation:duration:force:] + 377
13  UIKit                               0x0000000101d9b70a -[UIViewController _tryBecomeRootViewControllerInWindow:] + 147
14  UIKit                               0x0000000101cd7b1b -[UIWindow addRootViewControllerViewIfPossible] + 490
15  UIKit                               0x0000000101cd7c70 -[UIWindow _setHidden:forced:] + 282
16  UIKit                               0x0000000101ce0ffa -[UIWindow makeKeyAndVisible] + 51
17  UIKit                               0x0000000101c9cc98 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1788
18  UIKit                               0x0000000101ca0a0c -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 660
19  UIKit                               0x0000000101cb1d4c -[UIApplication handleEvent:withNewEvent:] + 3189
20  UIKit                               0x0000000101cb2216 -[UIApplication sendEvent:] + 79
21  UIKit                               0x0000000101ca2086 _UIApplicationHandleEvent + 578
22  GraphicsServices                    0x0000000104eff71a _PurpleEventCallback + 762
23  GraphicsServices                    0x0000000104eff1e1 PurpleEventCallback + 35
24  CoreFoundation                      0x00000001003b5679 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
25  CoreFoundation                      0x00000001003b544e __CFRunLoopDoSource1 + 478
26  CoreFoundation                      0x00000001003de903 __CFRunLoopRun + 1939
27  CoreFoundation                      0x00000001003ddd83 CFRunLoopRunSpecific + 467
28  UIKit                               0x0000000101ca02e1 -[UIApplication _run] + 609
29  UIKit                               0x0000000101ca1e33 UIApplicationMain + 1010
30  App                        0x0000000100076503 main + 115
31  libdyld.dylib                       0x0000000103ddd5fd start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

我认为问题在于该应用程序试图将我删除的视图显示为主视图,但它不存在。事实是,我没有找到对我删除的那个旧视图的任何引用。

4

2 回答 2

2

如果AMSlideMenu在尝试创建时捕获异常LeftMenu,它会尝试创建RightMenu(我不明白为什么,但确实如此)。

在我的例子中,左侧菜单firstSegue指向一个“错误的视图”,因为它是一个简单的视图控制器,而不是导航控制器。我将视图控制器更改为导航控制器(指向我原来的视图控制器),并修复了它。

于 2014-11-16T14:32:59.763 回答
0

将 AMSlideMenuWithoutStoryboard-Prefix.pch 文件设置复制到项目中的 PCH 文件。

于 2015-03-01T18:43:58.103 回答